首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
求二叉树的层序遍历
421条解析
开通博客写题解
华科不平凡
发表于 2020-08-22 13:26:14
用队列实现,每次记录下当前队列的大小即可: // // Created by jt on 2020/8/22. // #include <vector> #include <queue> using namespace std; class Solution { publi
展开全文
牛客题解官
发表于 2022-04-22 11:51:16
题目的主要信息: 将给定二叉树按行从上到下、从左到右的顺序输出 输出到一个二维数组中,数组中每行就是二叉树的一层 举一反三: 学习完本题的思路你可以解决如下题目: BM27. 按之字形顺序打印二叉树 BM35. 判断是否是完全二叉树 方法一:非递归(推荐使用) 知识点:队列 队列是一种仅支持在表
展开全文
漫漫云天自翱翔
发表于 2021-07-06 16:14:41
题解一:递归(前序遍历)主要思路:前序遍历,中、左、右左边的节点一定先于右边节点遍历到,加入至对应的数组中,满足层序遍历的要求;要点:1、利用一个level变量标记当前递归的深度,将节点的值push到当前深度的数组的后面;2、level变量大于res数组的size,说明第一次进入二叉树本层,对res
展开全文
江南好___
发表于 2021-07-15 22:06:31
描述 题目描述 给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 示例 输入:{1,2,3,4,#,#,5} 返回值:[[1],[2,3],[4,5]]知识点:树,层序遍历,队列,栈难度:⭐⭐ 题解 解题思路 层序遍历一般都可以通过队列或栈实现 如果是队列,每次需要加入当前
展开全文
牛一霸
发表于 2021-07-04 22:03:09
题目:二叉树的层序遍历 描述:给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如:给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是[[3],[9,20],[15,7]]。 示例1:输入:{1,2},返回值:[[1],
展开全文
牛客500979850号
发表于 2021-07-13 16:42:19
解题思路: 二叉树的层序遍历是一道基础的题目,可以使用BFS和DFS两种思路来解决,其中BFS在此题中相对更为简洁。 方法一:使用BFS遍历 class Solution { public: /** * * @param root TreeNode类
展开全文
小橘子ღ
发表于 2020-11-22 23:15:34
Java递归,直接从某力的二叉树卡片过来,思想很简单,首先声明一个成员变量供全局使用;其次写一个向下探索的递归方法,注意先从左边再从右边;每向下一层level+1这里很巧妙的是,对于二维List来说,将根视为第0层,树的深度正好等于一维List的个数。 import java.util.*; /*
展开全文
小洋芋热爱NLP
发表于 2020-11-24 19:22:41
1.题目描述: 2.题目链接:https://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3?tpId=188&&tqId=36551&rp=1&ru=/activity/oj&qru=
展开全文
数据结构和算法
发表于 2020-12-21 17:45:46
1,BFS解决 其实这就是二叉树的BFS,也可以看下之前讲的373,数据结构-6,树 , 就是这样,一层一层打印,使用队列解决 public ArrayList<arraylist<integer>> levelOrder(TreeNode root) {
展开全文
一叶浮尘
发表于 2020-04-04 18:39:46
二叉树层次遍历这一次的解法与之前写法相比更简洁了一些。 /** * Definition for binary tree * public class TreeNode { * int val; * TreeNode left; * TreeNode right;
展开全文
蘑菇睡不着
发表于 2021-07-12 23:18:59
思路 层序遍历就是一层一层的去遍历,如上图就是:1 - 2 - 4 - 5 - 3. 这道题要求的返回值时 ArrayList<ArrayList<integer>>。说明每一层都要用一个 ArrayList 去存储,大家想想,我想要有序的去层序遍历应该通过什么数据结构
展开全文
加油做题
发表于 2022-05-17 11:16:22
记录一下 二级指针生成二维数组 /** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * }; * * C语言声明定义全局变量请加上static,防止重复定义 */
展开全文
Tiamo_z
发表于 2022-03-11 17:38:29
二叉树的层序遍历有两种方法,分别是递归和队列,我看上面的大佬都用的递归,我来个队列的吧 # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None #
展开全文
offer啊啊offer
发表于 2021-09-22 21:40:21
# class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None # # # @param root TreeN
展开全文
文和906
发表于 2021-09-15 14:41:29
使用递归方法,声明一个全局二维数组来保存遍历结果,以根结点为第0层,每次递归都使层数++,并在对应层数插入结点值。 由于结果集最初为空,需要随着层数的加深不断向其中加入新数组。由于使用层数进行插入,所以只需让层数与size进行比较,两者相等则说明层数越界,要想结果集中加入新数组。 这里有个小坑,算是
展开全文
Yurino
发表于 2021-07-11 00:16:48
class Solution: def levelOrder(self , root ): # write code here if not root:return [] queue = [root] res = []
展开全文
查看本题
查看本题讨论
等你来战
查看全部
牛客小白月赛126
报名截止时间:2025-12-26 21:00
牛客周赛 Round 124
报名截止时间:2025-12-28 21:00
牛客2025跨年场
报名截止时间:2026-01-01 00:05
2026牛客寒假算法基础集训营1
报名截止时间:2026-02-03 18:00
2026牛客寒假算法基础集训营2
报名截止时间:2026-02-05 18:00
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题