专栏首页CtrlCV博客【剑指Offer】Ⅱ. 从上到下打印二叉树

【剑指Offer】Ⅱ. 从上到下打印二叉树

题目

从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。

例如: 给定二叉树: [3,9,20,null,null,15,7],

3

/ 9 20 / 15 7 返回其层次遍历结果:

[ [3], [9,20], [15,7] ]

题解

class Solution {
    public List<List<Integer>> levelOrder(TreeNode root) {
        Queue<TreeNode> queue = new LinkedList<>();
        List<List<Integer>> res = new ArrayList<>();
        if(root != null) queue.add(root);
        while(!queue.isEmpty()) {
            List<Integer> tmp = new ArrayList<>();
            for(int i = queue.size(); i > 0; i--) {
                TreeNode node = queue.poll();
                tmp.add(node.val);
                if(node.left != null) queue.add(node.left);
                if(node.right != null) queue.add(node.right);
            }
            res.add(tmp);
        }
        return res;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【剑指Offer】Ⅲ. 从上到下打印二叉树

    请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。

    小新哟
  • 【剑指Offer】I. 从上到下打印二叉树

    小新哟
  • 3种方法加密Python文件

    这里重命名时去掉“.cp35-win_amd64”不要更改前面的名字,否则不能正常引用.import main #保证当前文件夹下没有.py或者.pyc.

    小新哟
  • 【剑指Offer】Ⅲ. 从上到下打印二叉树

    请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。

    小新哟
  • 《大话数据结构》队列的顺序存储和链式存储

    成都的火车南站早上真的恐怖,地铁站人山人海,从地铁里面一直排队到门口,虽然人很多但是不得不说我国人民素质还是蛮高的,都是来了之后排在队伍的最后面,没有一个人去插...

    大猫的Java笔记
  • 单词片段分割–0328代码练习

    首先不要公式绝对的误导,其前面的数值加起来其实就是字符串的总长度,而后面的4是指不间隔的片段计数,而不间隔,突然想到之前学到的数组的reduce方法不就是可以拿...

    RobinsonZhang
  • 剑指offer--从上往下打印二叉树

    AI那点小事
  • Android开发笔记(五十六)摄像头拍照

    Camera是直接操作摄像头硬件的工具类。常用的方法如下: getNumberOfCameras : 获取本机的摄像头数目 open : 打开摄像头,...

    用户4464237
  • 前端学习之CSS(二)

    (内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style sheet > 浏览...

    一墨编程学习
  • 【IIS7.5服务器问题】未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序

    NET:Microsoft Visual Studio 2010 + .NET Framework 3.5

    用户5640963

扫码关注云+社区

领取腾讯云代金券