32、用队列实现层序遍历-102.二叉树的层序遍历
题目描述:
给你二叉树的根节点 root
,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
思路:之前在剑指Offer中做过
使用队列先入先出的性质,实现层序遍历!
DFS(深度优先策略)和BFS(广度优先策略)!
BFS:常用的有两种场景:二叉树的层序遍历、最短路径问题!
代码:
1)队列
class Solution {public List<List<Integer>> levelOrder(TreeNode root) {List<List<Integer>> res = new ArrayList<>();//结果集Queue<TreeNode> queue = new LinkedList<>();//LinkedList也是双向队列!实现层序的逻辑if(root == null) return res;queue.offer(root);while(!queue.isEmpty()){//每次进来,先记录此时 队列的长度int size = queue.size();//此时循环的次数就已经确定List<Integer> temp = new ArrayList<>();for(int i = 0;i < size;i++){TreeNode node = queue.poll();temp.add(node.val);if(node.left != null) queue.offer(node.left);if(node.right != null) queue.offer(node.right);}res.add(temp);}return res;}
}
32、用队列实现层序遍历-102.二叉树的层序遍历相关推荐
- 103. 二叉树的锯齿形层次遍历/102. 二叉树的层序遍历
2020-05-24 1.题目描述 二叉树的锯齿形层次遍历 2.题解 对于层次遍历而言,就是广度优先,由于题目要求奇数层逆序,我们可以 1)使用双端队列,奇偶性不同,则出入队列方式不同. 2)对于偶数 ...
- 二叉树的前序遍历,二叉树的中序遍历,二叉树的后序遍历,二叉树的层序遍历
二叉树的前序遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) (leetcode-cn.com) 给你二叉树的根节点 root ,返回它节点值的 前序 遍历. 示例 1: 输入:root ...
- 【LeetCode】【HOT】102. 二叉树的层序遍历(队列)
[LeetCode][HOT]102. 二叉树的层序遍历 文章目录 [LeetCode][HOT]102. 二叉树的层序遍历 package hot;import java.util.ArrayLis ...
- LeetCode Algorithm 102. 二叉树的层序遍历
102. 二叉树的层序遍历 Ideas 二叉树的层序遍历类似于图的广度优先搜索,都是要借助队列这种数据结构来实现. 首先将根节点添加到队列中,然后就是套BFS的模板,稍微改动一下. 只要队列不为空就循 ...
- 代码随想录算法训练营第15天,102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树
102.二叉树的层序遍历.226.反转二叉树.101.对称二叉树 102.二叉树的层序遍历 二叉树的层次遍历,我们可以定义一个队列, 当访问到某一个节点时,我们将它存在的左右节点放入队列中,便可达到按 ...
- 代码随想录算法训练营第十五天 | 102. 二叉树的层序遍历 | 226.翻转二叉树 | 101. 对称二叉树
递归三部曲 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 102. 二叉树的层序遍历 题解及想法 解法一 :递归法 class Solution {public List<Lis ...
- 代码随想录算法训练营第十三天|102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树
链接:代码随想录 文章目录 102.二叉树的层序遍历 226.翻转二叉树 101.对称二叉树 解题方法 题目思路 示例代码 总结 解题思路 1.102.二叉树的层次遍历 解题思路 递归法,创立二维数组 ...
- 【代码随想录】LC 102. 二叉树的层序遍历
目录 一.题目 1.原题链接 2.题目描述 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.知识风暴 一.题目 1.原题链接 力扣 2.题目描述 给你二叉树的根节点 root ,返回其节 ...
- 102. 二叉树的层序遍历 golang
102. 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点). 示例: 二叉树:[3,9,20,null,null,15,7], 3/ \9 ...
最新文章
- JQuery方法总结
- Linux KVM迁移与存储
- Groovy - 基本特性
- DataGridView的单元格控制只能输入数字
- 支付产品必懂的会计基础及如何应用
- c++新特性11 (9)智能指针一”_Compressed_pair类“
- MyBatisPlus条件构造器带条件删除delete使用
- Pythonseleniumtesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考...
- linux替换windows回车,转载 vi替换windows换行符为linux换行符
- Facebook AI 提出10亿级数据规模的半监督图像分类模型,ImageNet测试精度高达81.2%!...
- 研究别人,能知道做什么赚钱,了解自己,能知道什么钱适合赚
- 将GeoIP的region_code列表也复制过来一份
- eclipse tomcat 热部署
- SAP 银行主数据 SWIFT 码
- froala富文本编辑器的使用
- 淘宝店铺店名起、分类如何定【太原网络营销师】教你
- Cannot pull, git cannot resolve reference ORIG_HEAD
- 谷歌宣布搜索引擎多个新 AI 功能,听歌识曲 15 秒完成匹配
- 线段树维护(最大区间和,最大子段和,最长连续上升子序列)
- Android OpenGL ES 3.0 粒子特效
热门文章
- jyr路由器虚拟服务器,免费路由JCG JYR-N495设置上网教程具体讲解
- Index (zero based) must be greater than or equal to zero and less than the size of the argument list
- C++ 压缩文件及文件夹 使用zlib开源库
- Java连接Redis模拟手机号短信验证
- 使用Potplayer观看斗鱼直播的方法
- Win11控制面板没有realtek怎么办?
- Unity与汇承HC-02蓝牙串口模块通讯
- android高仿今日头条 --新闻阅读器
- css中用wave滤镜,CSS滤镜
- 全球与中国GNSS惯性导航系统市场现状及未来发展趋势