107. 二叉树的层序遍历 II 队列+迭代

102. 二叉树的层序遍历

已解答

中等

相关标签

相关企业

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。

示例 1:

复制代码
输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]

示例 2:

复制代码
输入:root = [1]
输出:[[1]]

示例 3:

复制代码
输入:root = []
输出:[]

提示:

  • 树中节点数目在范围 [0, 2000]
  • -1000 <= Node.val <= 1000

队列+迭代

java 复制代码
public List<List<Integer>> levelOrderBottom(TreeNode root) {
        //创建结果集
        List<List<Integer>> resultList = new ArrayList<>();
        if(root == null) return resultList;
        Queue<TreeNode> que = new LinkedList<>();
        //将根结点放入队列
        que.add(root);
        while(!que.isEmpty()){
            //装载每一层数据的集合
            List<Integer> itemList = new ArrayList<>();
            int len = que.size(); //len用于判断队列元素是否属于当前层

            while(len > 0){
                //拿出临时节点
                TreeNode tmpNode = que.poll();
                itemList.add(tmpNode.val);
                if(tmpNode.left != null){que.add(tmpNode.left);}
                if(tmpNode.right != null){que.add(tmpNode.right);}
                len--;
            }
            resultList.add(itemList);
        }
        //反转
        Collections.reverse(resultList);
        return resultList;
    }
相关推荐
mjhcsp15 小时前
C++ 高精度计算:突破数据类型限制的实现与应用
开发语言·c++·算法·高精度
大袁同学15 小时前
【二叉搜索树】:程序的“决策树”,排序数据的基石
数据结构·c++·算法·决策树·stl
蓝色汪洋15 小时前
xtu oj环--唉
算法
Algo-hx15 小时前
数据结构入门 (十):“左小右大”的秩序 —— 深入二叉搜索树
数据结构·算法
努力学算法的蒟蒻16 小时前
day11(11.11)——leetcode面试经典150
算法·leetcode·面试
im_AMBER16 小时前
Leetcode 51
笔记·学习·算法·leetcode·深度优先
做怪小疯子16 小时前
LeetCode 热题 100——哈希——字母异位词分组
算法·leetcode·哈希算法
Einsail17 小时前
贪心算法,优先队列(大小根堆使用)
算法·贪心算法
小欣加油17 小时前
leetcode 474 一和零
c++·算法·leetcode·职场和发展·动态规划
Ace_317508877617 小时前
京东商品详情接口深度解析:从反爬绕过到数据结构化重构
数据结构·python·重构