当前位置: 首页 > 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.dtcms.com/a/306887.html

相关文章:

  • python | numpy小记(八):理解 NumPy 中的 `np.meshgrid`
  • C++ Qt网络编程实战:跨平台TCP调试工具开发
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的便利店信息管理系统(附源码+数据库+毕业论文+远程部署)
  • 虚幻基础:模型碰撞体
  • [Qt]QString 与Sqlite3 字符串互动[汉字不乱码]
  • C#垃圾回收机制:原理与实践
  • PyTorch 生态四件套:从图片、视频到文本、语音的“开箱即用”实践笔记
  • 电子电气架构 --- 汽车电子电气EEA架构开发流程
  • 通义万相文生图模型wan2.2-t2i-flash和wan2.2-t2i-plus全维度深度对比
  • Java试题-选择题(1)
  • 【C++】适配器模式手搓STL的stack和queue
  • LeetCode Hot 100:15. 三数之和
  • Nuxt3 全栈作品【通用信息管理系统】角色管理(含配置权限 -- 菜单权限 vs 操作权限)
  • 差分数组前缀和优化,降低时间复杂度
  • vue+elementui+vueCropper裁剪上传图片背景颜色为黑色解决方案
  • ‌我的第一个开源项目:跃动的心
  • 物流分拣漏检率↓78%!陌讯动态光流算法在包裹移动识别的技术突破
  • GCC链接技术深度解析:性能与空间优化
  • [mcp: McpSchema]-源码分析
  • 第1课:向量与矩阵运算
  • 搭建实时足球比分系统从零到一的实战指南
  • Day 4-1: 机器学习算法全面总结
  • 全新AI工具小程序源码 全开源(源码下载)
  • 深入浅出:在 Spring Boot 中构建实时应用 - 全面掌握 WebSocket
  • 解决 Docker 报错 “exec: no such file or directory”
  • 文件权限值的表示方法
  • PHP/Java/Python实现:如何有效防止恶意文件上传
  • Go 语言make函数
  • 输电线路绝缘子泄漏电流在线监测装置的技术解析与应用价值
  • Python读取获取波形图波谷/波峰