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

leetcode102:二叉树的层序遍历

给你二叉树的根节点 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
Related Topics

广度优先搜索
二叉树

方法一:广度优先遍历

利用队列实现广度优先遍历,每次判断队列的长度,队列长度就是当前层拥有的节点数目

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> list = new ArrayList<>();if (root == null) {return list;}Deque<TreeNode> deque = new LinkedList<>();deque.offer(root);while (!deque.isEmpty()) {List<Integer> subList = new ArrayList<>();int size = deque.size();for(int i = 0; i < size; i++) {TreeNode node = deque.poll();subList.add(node.val);if (node.left != null) {deque.offer(node.left);}if (node.right != null) {deque.offer(node.right);}}list.add(subList);}return list;}
}
http://www.lryc.cn/news/55975.html

相关文章:

  • 深度学习openMMLab的介绍和使用
  • 【vue2】axios请求与axios拦截器的使用详解
  • 文件上传都发生了啥
  • 【vim进阶】vim编辑器的多文件操作(如何打开多个文件,如何进行文件间的切换,如何关闭其中的某一个文件)
  • ToBeWritten之车辆通信
  • 自定义 Jackson 的 ObjectMapper, springboot多个模块共同引用,爽
  • 【面试】Redis面试题
  • 前端后端交互系列之原生Ajax的使用
  • openGauss 5.0企业版主从部署,实战狂飙
  • Vue中props组件和slot标签的区别
  • 基于Windows下VSCode搭建Vue开发环境
  • Android开发 Dialog对话框 DatePickerDialog
  • 开心档开发入门网之C++ Web 编程
  • C# 和 VB .NET 的纯 FFmpeg 包装器:CSFFmpeg Crack
  • python外篇(序列化和非序列化)
  • Linux总结(二)
  • 【4.1】Socket编程、TCP挥手
  • 【竞赛经历】CSDN第41期竞赛题解
  • 【Linux学习】信号——预备知识 | 信号产生 | 核心转储
  • 2023中国程序员薪酬报告出炉,你拖后腿了吗?
  • Mac下Python3安装及基于Idea开发
  • 2017年 团体程序设计天梯赛——题解集
  • “唯一靶点”的华堂宁会成控糖爆品吗?
  • Spring《三》DI依赖注入
  • leetcode 面试题 17.06. 2出现的次数
  • CMake入门教程【基础篇】5.configure_file构建配置
  • 软件开发可行性分析——健康食谱小程序
  • ShuffleNet V1 对花数据集训练
  • 测试人员转型是大势所趋:我的10年自动化测试经验分享
  • Pandas高级操作,建议收藏(一)