二叉树
文章平均质量分 56
嘻嘻哈哈樱桃
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树的最小深度力扣--111
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。给定一个二叉树,找出其最小深度。叶子节点是指没有子节点的节点。原创 2025-01-25 18:38:17 · 373 阅读 · 0 评论 -
二叉树的最大深度力扣--104
给定一个二叉树root,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。32。原创 2025-01-25 18:23:19 · 313 阅读 · 0 评论 -
填充每个节点的下一个右侧节点指针力扣--116,117
解释:给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化的输出按层序遍历排列,同一层节点由 next 指针连接,'#' 标志着每一层的结束。同力扣102 层序遍历,只不过在单层遍历的时候记录一下本层的头部节点,然后在遍历的时候让前一个节点指向本节点就可以了。给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。输入:root = [1,2,3,4,5,6,7]输出:[1,#,2,3,#,4,5,6,7,#]原创 2025-01-25 18:10:29 · 358 阅读 · 0 评论 -
在每棵树中找最大值
给定一棵二叉树的根节点 root ,请找出该二叉树中每一层的最大值。输入: root = [1,3,2,5,3,null,9]同力扣102,层序遍历,取每一层的最大值。输入: root = [1,2,3]输出: [1,3,9]原创 2025-01-25 15:40:59 · 229 阅读 · 0 评论 -
N叉树的层序遍历力扣--429
树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。与力扣102相似 孩子集合,遍历添加。给定一个 N 叉树,返回其节点值的。(即从左到右,逐层遍历)。原创 2025-01-25 15:15:26 · 245 阅读 · 0 评论 -
二叉树的层平均值
第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11。参照力扣102,只需要把数组的类型改为double,并且在层序遍历时计算平均值即可,注意。, 以数组的形式返回每一层节点的平均值。因此返回 [3, 14.5, 11]。给定一个非空二叉树的根节点。以内的答案可以被接受。如何保存当前层的节点数。原创 2025-01-25 14:55:36 · 246 阅读 · 0 评论 -
二叉树的右视图力扣--199
与力扣102大体相似,层序遍历的时候,判断是否遍历到单层的最后面的元素,如果是,就放进result数组中,随后返回result就可以了。,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2025-01-25 14:39:47 · 242 阅读 · 0 评论 -
二叉树的层序遍历||力扣--107
(即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)参照力扣102,只需最后把数组反转即可。原创 2025-01-25 14:29:14 · 337 阅读 · 0 评论 -
二叉树的层序遍历力扣--102
先把根节点放入队列中,然后把他弹出,把他的左右孩子节点放进去,以此往复。最终结果需要一个二维数组,第一个维度记录哪层,第二个维度记录数据。然后弹出9,由于9无左右孩子,所以弹出20,放15和7,以此往复。层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。(即逐层地,从左到右访问所有节点)。需要借用一个辅助数据结构即队列来实现,比如题目所给例题,先把3放进队列。然后弹出3,放9和20。原创 2025-01-25 14:11:06 · 265 阅读 · 0 评论 -
二叉树的迭代遍历
,然后走他的左子树,左子树为空 ,看右子树,与此同时弹出1,加入2,看2的左子树,加入3(栈中是2,3),3的左子树为空,看右子树,也为空,弹出3,看2,2的右子树为空,弹出2,最后结果为。因为前两个是访问哪个就操作哪个,但是中序不是,访问树从其根节点开始,但是中序是标左中右的顺序,先操作的是最左边的,所以和他们不是一个模板。前序遍历是中左右,每次先处理的是中间节点,那么先将根节点放入栈中,然后将右孩子加入栈,再加入左孩子。前序和后序是一个模板,那么为什么中序不能是一个模板呢?原创 2025-01-24 10:21:57 · 490 阅读 · 0 评论 -
二叉树的递归遍历力扣--145,144,94
写完了递归算法, 运行的时候,经常会遇到栈溢出的错误,就是没写终止条件或者终止条件写的不对,操作系统也是用一个栈的结构来保存每一层递归的信息,如果递归没有终止,操作系统的内存栈必然就会溢出。确定哪些参数是递归的过程中需要处理的,那么就在递归函数里加上这个参数, 并且还要明确每次递归的返回值是什么进而确定递归函数的返回类型。确定每一层递归需要处理的信息。在这里也就会重复调用自己来实现递归的过程。单层递归的逻辑就是按照中左右的顺序来处理的。确定递归函数的参数和返回值。给你一棵二叉树的根节点。原创 2025-01-22 11:54:14 · 486 阅读 · 0 评论 -
二叉树理论知识
int val;原创 2025-01-22 10:53:20 · 302 阅读 · 0 评论
分享