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

二叉树层序遍历

二叉树的递归和迭代遍历都是深度优先搜索,而二叉树层序遍历是广度优先搜索
层序遍历一个二叉树,就是从左到右一层一层的去遍历二叉树,队列先进先出,符合一层一层遍历的逻辑,而栈先进后出模拟深度优先遍历也就是递归的逻辑

学完之后你就可以一口气凎完下面十道力扣题目

102. 二叉树的层序遍历

class Solution {//定义嵌套链表public List<List<Integer>> resList = new ArrayList<>();public List<List<Integer>> levelOrder(TreeNode root) {//使用递归法进行BFS//递归方法method1(root,0);return resList;}//递归public void method1(TreeNode root,int deep){//避免空指针异常if(root == null){return;}deep++;while(resList.size() < deep){//说明此时有不为空的数据存在List<Integer> item = new ArrayList<>();//要先创建空的item,再加入resListresList.add(item);}// 把这个写在while循环外的原因是,防止每次遇到// 新的不为空的节点再创建空的item,还有就是为了让// 每一层不为第一个节点时可以添加进链表resList.get(deep - 1).add(root.val);method1(root.left,deep);method1(root.right,deep);}
}

使用队列
队列怎么使用

class Solution {//定义公共嵌套链表public List<List<Integer>> resList = new ArrayList<>();public List<List<Integer>> levelOrder(TreeNode root) {method2(root);return resList;}public void method2(TreeNode root){//防止空指针异常if(root == null){return;}//创建一个队列来遍历二叉树Queue<TreeNode> que = new LinkedList<>();//给队列里面先加入头节点que.offer(root);while(!que.isEmpty()){//创建嵌套链表里面的整型链表List<Integer> tmpList = new ArrayList<>();int len = que.size();while(len > 0){TreeNode tmpNode = que.poll();tmpList.add(tmpNode.val);if(tmpNode.left != null){que.offer(tmpNode.left);}if(tmpNode.right != null){que.offer(tmpNode.right);}len--;}resList.add(tmpList);}}
}

107. 二叉树的层序遍历 II
199. 二叉树的右视图
637. 二叉树的层平均值
429. N 叉树的层序遍历
515. 在每个树行中找最大值
116. 填充每个节点的下一个右侧节点指针
117. 填充每个节点的下一个右侧节点指针 II
104. 二叉树的最大深度
111. 二叉树的最小深度

未完待续

相关文章:

  • React-Hook
  • Java基础第五章、面向对象程序设计
  • AIGC赋能智慧医疗:从影像诊断到个性化治疗的革命性突破
  • 初始网络流(最小割)
  • 构建AI大模型应用的LangChain之核心功能
  • USART串口通讯
  • 计算机网络基本概念
  • 快速上手c语言
  • 基于NVIDIA RTX 4090的COLMAP 3.7安装指南:Ubuntu 20.04 + CUDA 11.8环境配置【2025最新版!!】
  • 内存池管理项目——面试题总结
  • 自动化运维:从工具到实践的全面解析
  • Redux基础知识
  • c++学习小结
  • Fedora 43 计划移除所有 GNOME X11 相关软件包
  • 泛型进阶之通配符
  • 备忘录模式 (Memento Pattern)
  • 元组类型的特性与应用场景:深入理解元组在 TypeScript 中的使用
  • vue3获取麦克风权限通过websocket进行通话
  • Group By Sets语法
  • 计算机二级MS Office第九套演示文稿
  • 专访|伊朗学者:美伊核谈不只是改革派立场,但伊朗不信任美国
  • 坤莹·帕塔玛·利斯达特拉任世界羽联主席
  • 新华时评:坚定不移办好自己的事,着力抓好“四稳”
  • AI翻译技术已走向大规模商用,应用场景覆盖多个关键领域
  • 潘功胜:央行将实施好适度宽松的货币政策,推动中国经济高质量发展
  • 猿辅导武汉公司一员工猝死,死者亲属:他原计划5月2日举行婚礼