剑指Offer-60 层次遍历

从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。

技巧:使用Null 作为层的分隔符号。

public class Solution {
    ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
        ArrayList<ArrayList<Integer>> lists = new ArrayList<>();
        Queue<TreeNode> queue = new LinkedList<>();
        if(pRoot == null) return lists;
        queue.offer(pRoot);
        queue.offer(null);
        while(queue.peek() != null){
            ArrayList<Integer> list  = new ArrayList<>();
            TreeNode node = queue.poll();
            while(node != null){
                list.add(node.val);
                if(node.left != null) queue.offer(node.left);
                if(node.right != null) queue.offer(node.right);
                node = queue.poll();
            }
            queue.offer(null);
            lists.add(list);
        }
        return lists;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 树 记录《剑指offer》中所有关于树的题目,以及LeetCode中的相似题目。 相关题目列表 题目 树是一种最常...
    wenmingxing阅读 1,591评论 2赞 13
  • 二维数组中的查找在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到...
    Catcher07阅读 837评论 0赞 1
  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 4,437评论 0赞 23
  • 说明: 本文中出现的所有算法题皆来自牛客网-剑指Offer在线编程题,在此只是作为转载和记录,用于本人学习使用,不...
    秋意思寒阅读 1,252评论 1赞 1
  • 发生的防守打法第三方第三方范德萨发生的发生付多少佛挡杀佛斯蒂芬斯蒂芬是发GV从GV梵蒂冈梵蒂冈
    remart阅读 500评论 0赞 49

友情链接更多精彩内容