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

LeetCode[102]二叉树的层序遍历

思路:

题目描述从左到右一层一层的进行遍历,就遍历二叉树的这种题我更喜欢用递归来做,

我使用java来做的,结果集是两个List集合,那么我们是不是应该每到新的一层就给这个结果集添加一个内部的List,那么怎么判断左右节点在同一层级呢?我想的就是模拟一个层级的参数为k,root的左右节点都属于一个层级,那么递归的时候对应的就是k+1;以此类推,拿到结果。

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {List<List<Integer>> res = new ArrayList<>();public List<List<Integer>> levelOrder(TreeNode root) {level(root, 0);return res;}public void level(TreeNode root, int k) {if (root == null)return;if (k == res.size())res.add(new ArrayList<>());res.get(k).add(root.val);level(root.left, k + 1);level(root.right, k + 1);}
}

 

相关文章:

  • 铸铁平台厂家:确保测试环境的高稳定性是试验铁地板的使命
  • 手机的数据楚门世界是如何推送的
  • 数据结构与算法:图论——最短路径
  • 经典算法 石子合并问题
  • 觅知解析计费系统重构版在线支付卡密充值多解析接口免授权无后门源码扶风二开
  • Android Framework学习二:Activity创建及View绘制流程
  • MyBatis 参数处理全解析
  • 北极花生物调查:在探索自然的旅程中,让每一次观察都更具意义
  • Linux工作台文件操作命令全流程解析
  • 基于Springboot+Vue3.0的前后端分离的个人旅游足迹可视化平台
  • 如何打造液态金属终結者 T-1000:多代理系统的未来构想
  • 【凑修电脑的小记录】vscode打不开
  • Mybatis中的一级二级缓存扫盲
  • 一个读写excel的简单程序(golang)
  • IP 互联网协议
  • 数字智慧方案5867丨智慧建造(BIM技术智慧工地)在施工阶段的实践与应用方案(90页PPT)(文末有下载方式)
  • GoFrame框架深度解析:grpool的优势、最佳实践与踩坑经验
  • html:table表格
  • 十分钟用Docker搭建功能齐全的Poste.io邮件服务器
  • 全感官交互革命:当 AI 大模型学会 “看、听、说、创”
  • 证监会:证券公司要处理好功能性和盈利性关系,切实维护好投资者利益
  • 一座与人才共成长的理想之城,浙江嘉兴为何如此吸引人?
  • “上海-日喀则”援藏入境旅游包机在沪首航
  • 上海市第二十届青少年科技节启动:为期半年,推出百余项活动
  • 新任重庆市垫江县委副书记刘振已任县政府党组书记
  • 武康大楼再开发:一栋楼火还不够,要带火街区“朋友圈”