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

二叉树算法之【二叉树的层序遍历】

目录

LeetCode-102题


LeetCode-102题

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

class Solution {public List<List<Integer>> levelOrder(TreeNode root) {// checkif (root == null)return new ArrayList<>();List<List<Integer>> result = new ArrayList<>();// 利用队列实现二叉树的层序遍历Queue<TreeNode> queue = new LinkedList<>();// 1、将树的头节点放入队列queue.offer(root);int c1 = 1;//2、队列不为空就一直从队列中取数据while (!queue.isEmpty()) {List<Integer> inner = new ArrayList<>();int c2 = 0;for (int i = 0; i < c1; i++) {// 2.1、从队列中取出当前节点TreeNode curr = queue.poll();inner.add(curr.val);// 2.2、如果当前节点有左子节点,将其左子节点放入队列if (curr.left != null) {queue.offer(curr.left);c2++;}// 2.3、如果当前节点有右子节点,将其右子节点放入队列if (curr.right != null) {queue.offer(curr.right);c2++;}}c1 = c2;result.add(inner);}return result;}
}

http://www.lryc.cn/news/604411.html

相关文章:

  • 关于mysql时间类型和java model的日期类型映射
  • “古法编程”到“vibe coding”的第一步:Zread助力一键生成项目说明书
  • 本地 docker 部署 HAR包分析工具 harviewer
  • 云原生环境里的显示变革:Docker虚拟浏览器与cpolar穿透技术实战
  • Web前端实战:Vue工程化+ElementPlus
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——8. AI赋能(下):在Qt中部署YOLOv8模型
  • 【CF】Day115——杂题 (构造 | 区间DP | 思维 + 贪心 | 图论 + 博弈论 | 构造 + 位运算 | 贪心 + 构造 | 计数DP)
  • 从0到1学PHP(七):PHP 与 HTML 表单:实现数据交互
  • useRouteLeaveConfirm 路由离开确认弹窗 Hook
  • ECCV | 2024 | LocalMamba:具有窗口选择性扫描的视觉状态空间模型
  • 2019 年 NOI 最后一题题解
  • C语言数据结构(1)顺序表专题2.顺序表的应用
  • Mac下的Homebrew
  • Python 中使用 OpenCV 库来捕获摄像头视频流并在窗口中显示
  • 深入理解 Doris Compaction:提升查询性能的幕后功臣
  • webpack-性能优化
  • 破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践录
  • 2025年6月电子学会青少年软件编程(C语言)等级考试试卷(二级)
  • C++ 中 NULL 与 nullptr 有什么区别?
  • RAG实战指南 Day 29:RAG系统成本控制与规模化
  • WebRTC核心组件技术解析:架构、作用与协同机制
  • mangoDB面试题及详细答案 117道(071-095)
  • Python深度挖掘:openpyxl与pandas高效数据处理实战指南
  • APM32芯得 EP.27 | 告别IDE,为APM32F411打造轻量级命令行开发工作流
  • 微服务消息队列之——RabbitMQ
  • .NET 10 中的新增功能系列文章2——ASP.NET Core 中的新增功能
  • PostGIS安装与pg_dump/pg_restore排错
  • flutter 记录一个奇怪的问题
  • 在 Mac 上用 Vagrant 安装 K8s
  • InfluxDB 3 数据库命名与创建全攻略:规范、限制与实战指南