当前位置: 首页 > article >正文

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

队列+迭代

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;
    }


http://www.kler.cn/a/383978.html

相关文章:

  • 详解Python面向对象程序设计
  • C++builder中的人工智能(9)如何在C++中创建AI二进制/Heaviside步进函数
  • win 查看显卡支持 CUDA版本
  • bat批量处理脚本细节研究
  • 长亭那个检测能力超强的 WAF,出免费版啦
  • 怎么样鉴定疾病相关稀有细胞群?二值化精细模型标签,这个刚发的顶刊单细胞算法值得一学!
  • Visual Studio Code从安装到正常使用
  • 【rust】rust基础代码案例
  • 仪表板展示|DataEase看中国:历年双十一电商销售数据分析
  • MOE(Mixture of Experts,混合专家)
  • django图书管理系统-计算机毕业设计源码00648
  • 量化研究--年化57%全球动量模型策略回测,学习使用
  • nginx代理 proxy_pass
  • 使用 OpenCV 和 Pyzbar 检测二维码和条码
  • 分享一个游戏源码下载网站
  • TLS协议基本原理与Wireshark分析_wireshark分析tls协议
  • HarmonyOS NEXT 应用开发实战:十一、知乎日报项目接口使用指南
  • 【工具】随机邮件地址生成器
  • RKNN MAC利用率
  • 一七五、HTML 不同类型的事件及其说明和示例
  • std::copy
  • Vue实现登录功能
  • js 两日期天数差、某一日期前推后推固定天数后的日期、时间格式化
  • WPF中的INotifyPropertyChanged接口
  • 蓝桥杯顺子日期(填空题)
  • 论文阅读笔记:Image Processing GNN: Breaking Rigidity in Super-Resolution