题目描述

给你二叉树的根节点 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.二叉树的层序遍历相关推荐

  1. 103. 二叉树的锯齿形层次遍历/102. 二叉树的层序遍历

    2020-05-24 1.题目描述 二叉树的锯齿形层次遍历 2.题解 对于层次遍历而言,就是广度优先,由于题目要求奇数层逆序,我们可以 1)使用双端队列,奇偶性不同,则出入队列方式不同. 2)对于偶数 ...

  2. 二叉树的前序遍历,二叉树的中序遍历,二叉树的后序遍历,二叉树的层序遍历

    二叉树的前序遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) (leetcode-cn.com) 给你二叉树的根节点 root ,返回它节点值的 前序 遍历. 示例 1: 输入:root ...

  3. 【LeetCode】【HOT】102. 二叉树的层序遍历(队列)

    [LeetCode][HOT]102. 二叉树的层序遍历 文章目录 [LeetCode][HOT]102. 二叉树的层序遍历 package hot;import java.util.ArrayLis ...

  4. LeetCode Algorithm 102. 二叉树的层序遍历

    102. 二叉树的层序遍历 Ideas 二叉树的层序遍历类似于图的广度优先搜索,都是要借助队列这种数据结构来实现. 首先将根节点添加到队列中,然后就是套BFS的模板,稍微改动一下. 只要队列不为空就循 ...

  5. 代码随想录算法训练营第15天,102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

    102.二叉树的层序遍历.226.反转二叉树.101.对称二叉树 102.二叉树的层序遍历 二叉树的层次遍历,我们可以定义一个队列, 当访问到某一个节点时,我们将它存在的左右节点放入队列中,便可达到按 ...

  6. 代码随想录算法训练营第十五天 | 102. 二叉树的层序遍历 | 226.翻转二叉树 | 101. 对称二叉树

    递归三部曲 确定递归函数的参数和返回值 确定终止条件 确定单层递归的逻辑 102. 二叉树的层序遍历 题解及想法 解法一 :递归法 class Solution {public List<Lis ...

  7. 代码随想录算法训练营第十三天|102.二叉树的层序遍历、226.翻转二叉树、101.对称二叉树

    链接:代码随想录 文章目录 102.二叉树的层序遍历 226.翻转二叉树 101.对称二叉树 解题方法 题目思路 示例代码 总结 解题思路 1.102.二叉树的层次遍历 解题思路 递归法,创立二维数组 ...

  8. 【代码随想录】LC 102. 二叉树的层序遍历

    目录 一.题目 1.原题链接 2.题目描述 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.知识风暴 一.题目 1.原题链接 力扣 2.题目描述 给你二叉树的根节点 root ,返回其节 ...

  9. 102. 二叉树的层序遍历 golang

    102. 二叉树的层序遍历 给你一个二叉树,请你返回其按 层序遍历 得到的节点值. (即逐层地,从左到右访问所有节点). 示例: 二叉树:[3,9,20,null,null,15,7], 3/ \9 ...

最新文章

  1. JQuery方法总结
  2. Linux KVM迁移与存储
  3. Groovy - 基本特性
  4. DataGridView的单元格控制只能输入数字
  5. 支付产品必懂的会计基础及如何应用
  6. c++新特性11 (9)智能指针一”_Compressed_pair类“
  7. MyBatisPlus条件构造器带条件删除delete使用
  8. Pythonseleniumtesseract自动化测试随机码、验证码(Captcha)的OCR识别解决方案参考...
  9. linux替换windows回车,转载 vi替换windows换行符为linux换行符
  10. Facebook AI 提出10亿级数据规模的半监督图像分类模型,ImageNet测试精度高达81.2%!...
  11. 研究别人,能知道做什么赚钱,了解自己,能知道什么钱适合赚
  12. 将GeoIP的region_code列表也复制过来一份
  13. eclipse tomcat 热部署
  14. SAP 银行主数据 SWIFT 码
  15. froala富文本编辑器的使用
  16. 淘宝店铺店名起、分类如何定【太原网络营销师】教你
  17. Cannot pull, git cannot resolve reference ORIG_HEAD
  18. 谷歌宣布搜索引擎多个新 AI 功能,听歌识曲 15 秒完成匹配
  19. 线段树维护(最大区间和,最大子段和,最长连续上升子序列)
  20. Android OpenGL ES 3.0 粒子特效

热门文章

  1. jyr路由器虚拟服务器,免费路由JCG JYR-N495设置上网教程具体讲解
  2. Index (zero based) must be greater than or equal to zero and less than the size of the argument list
  3. C++ 压缩文件及文件夹 使用zlib开源库
  4. Java连接Redis模拟手机号短信验证
  5. 使用Potplayer观看斗鱼直播的方法
  6. Win11控制面板没有realtek怎么办?
  7. Unity与汇承HC-02蓝牙串口模块通讯
  8. android高仿今日头条 --新闻阅读器
  9. css中用wave滤镜,CSS滤镜
  10. 全球与中国GNSS惯性导航系统市场现状及未来发展趋势