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;
    }
相关推荐
兰令水1 分钟前
topcode【随机算法题】【2026.5.14打卡-java版本】
java·算法·leetcode
故事和你913 分钟前
洛谷-【图论2-1】树2
开发语言·数据结构·c++·算法·动态规划·图论
MicroTech202510 分钟前
变分量子算法再升级:MLGO微算法科技滤波变分量子本征求解器推动量子计算落地
科技·算法·量子计算
gihigo199821 分钟前
竞争性自适应重加权算法(CARS)
算法
foundbug99940 分钟前
LSSVM(最小二乘支持向量机)状态分类与预测
算法
z2005093041 分钟前
今日算法:617,合并二叉树
算法·leetcode
努力努力再努力wz43 分钟前
【Qt入门系列】深入理解信号与槽:从事件响应到自定义信号机制
c语言·开发语言·数据结构·数据库·c++·qt·mysql
ZHW_AI课题组1 小时前
基于逻辑回归的乳腺癌预测分类
算法·分类·逻辑回归
Ricky_Theseus1 小时前
B树和B+树的区别
数据结构·b树
胡志辉1 小时前
贪心算法最坑的地方:每一步都看起来很对,最后还是错了
算法