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

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

目录

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.xdnf.cn/news/16804.html

相关文章:

  • 专题:2025机器人产业技术图谱与商业化指南|附130+份报告PDF、数据汇总下载
  • Python爬虫05_Requests肯德基餐厅位置爬取
  • 小架构step系列30:多个校验注解
  • 《Spring Security源码深度剖析:Filter链与权限控制模型》
  • 文件权限值的表示方法
  • 怎样在 Vue 中定义全局方法?
  • 【C语言】深度剖析指针(二):指针与数组,字符,函数的深度关联
  • AWS VPC NAT 网关可观测最佳实践
  • 15、点云<—>深度图转换原理
  • 数据集:机器学习的基石
  • RPA软件推荐:提升企业自动化效率
  • 北京理工大学医工交叉教学实践分享(1)|如何以实践破解数据挖掘教学痛点
  • 在 Elasticsearch 8.19 和 9.1 中引入更强大、更具弹性和可观测性的 ES|QL
  • 《Vuejs设计与实现》第 12 章(组件实现原理 下)
  • 44、鸿蒙HarmonyOS Next开发:视频播放 (Video)组件和进度条 (Progress)组件的使用
  • OSS-服务端签名Web端直传+STS获取临时凭证+POST签名v4版本开发过程中的细节
  • webpack-性能优化
  • STM32CubeMX 生成时钟获取函数的分析
  • 【网络运维】 Linux:使用 Cockpit 管理服务器
  • 矩阵指数函数 e^A
  • 移动管家手机控车系统硬件安装与软件绑定设置
  • LeetCode 4:寻找两个正序数组的中位数
  • DISTILLM:迈向大型语言模型的简化蒸馏方法
  • 基于React+Express的前后端分离的个人相册管理系统
  • OpenBayes 一周速览丨Self Forcing 实现亚秒级延迟实时流视频生成;边缘AI新秀,LFM2-1.2B采用创新性架构超越传统模型
  • 爱车生活汽车GPS定位器:智能监控与安全驾驶的守护者
  • 云原生环境里的显示变革:Docker虚拟浏览器与cpolar穿透技术实战
  • 新零售“实—虚—合”逻辑下的技术赋能与模式革新:基于开源AI大模型、AI智能名片与S2B2C商城小程序源码的研究
  • RAG:检索增强生成的范式演进、技术突破与前沿挑战
  • pytorch入门2:利用pytorch进行概率预测