二叉树深度和高度你分得清么?

news/2024/7/7 19:09:31

104. 二叉树的最大深度 - 力扣(LeetCode)
看题解前:这里需要知道什么是深度,什么是高度。深度指的是从根结点出发到叶子结点中间的节点个数;高度指的是从该节点出发到叶子节点中间的个数。所以说根节点的高度也就是该二叉树的深度。采用递归的办法,求出左子树的高度和右子树的高度,取较大值最后+1即为该二叉树的深度。在这里插入图片描述
看题解后:题解递归方法大差不差,就是更加简化了步骤。![[Pasted image 20221024085555.png]]

除此之外还提供了一个广度优先搜索的方法。
这里的广度优先搜索有点类似上一篇当用使用队列进行层序遍历,差异点就在于定义了一个ans,在每一层遍历完成后对ans+=1即可。![[Pasted image 20221024085750.png]]
111. 二叉树的最小深度 - 力扣(LeetCode)
看题解前:初看跟上面那个差不多,感觉把max改成min即可;然后过不了,无法判断 ![[Pasted image 20221024090628.png]]

这样的二叉树。这个时候需要判断什么时候才是最低点。如果左子树为空,右子树不为空,此时应该返回右子树的高度,相反则返回左子树的高度。此时即可编译通过了。![[Pasted image 20221024091607.png]]
看题解后:题解也是给出了精简代码,没有使用子函数,直接开始递归调用。
在这里插入图片描述
222. 完全二叉树的节点个数 - 力扣(LeetCode)
看题解前:可以用层序遍历的方法,在队列中每插入一个就cnt++即可,肯定可以做出来。然后就是想到了递归,总节点个数为左子树节点+右子树节点+1。![[Pasted image 20221024092257.png]]

看题解后:依旧给出了递归和迭代两个方法,递归就是上述方法,给出了简化版本:![[Pasted image 20221024092400.png]]
整体思路跟上面一样的。迭代也就是上述提到的层序遍历++cnt(前中后序也是一样的,总思想就是遍历计数)。![[Pasted image


http://lihuaxi.xjx100.cn/news/104565.html

相关文章

语音处理-傅里叶分析和Z变换

语音处理-傅里叶分析和Z变换 时域与频域 •信号可以表示任何类型的序列测量 •信号通常表示序列时间上的测量 •信号分析的一项有用技术是将其分解为一组基本部分易于理解(例如线性趋势) •分解为周期函数可以是将信号转换为“频域”(即时间…

JQuery详解(讲解+举例)--(后端开发适用)

JQuery JQueryJQuery1.JQuery内容2. JQuery对象2.1.Jquery的下载与安装2.1.1.下载2.1.3.优点2.1.4.安装2.2.Jquery核心2.3.Dom对象与Jquery包装集对象2.3.1 javascript中获取Dom对象,Dom对象只有有限的属性和方法:2.3.2.Jqueryt包装集对象2.3.3.Dom对象转…

Web3.0 对网络安全世界的影响

随着全球技术格局在过去十年中不断发展,引起许多人兴趣的一个概念是“Web3”。从最基本的意义上说,Web3 可以被视为互联网的迭代,它是去中心化的,并授予用户以安全、点对点方式相互交互的能力(即无需任何中心化中介&am…

idea打包maven项目及python3调用jar包

1、目标 解决java组件依赖的问题:将依赖java实现的程序封装后,打成可执行的jar包,再通过python3执行调用即可。 2、核心步骤 1)选择合适的框架,如maven,并引入依赖包(pom.xml) 2)封装主程序后&…

详解静态成员 什么是静态成员,静态成员和普通成员的区别

什么是静态成员 首先了解一下为什么产生了静态成员的需求,有时候需要一些成员直接和类本身相关,而不是和所有对象保持关联。举一个C Primer中的例子: 一个银行账户类可能需要一个数据成员来表示当前的基准利率。在此例中,我们希望…

Qt文档阅读笔记-Hello Speak Example

官方的这个例子比较有意思,在此记录下,方便以后查阅。 Hello Speak Example 这个例子主要是使用QTextToSpeech类将用户自定义输入的文本转换为口语,包括高低音、声音大小、读速。并且能够选择语言和声音。 包含的文件如下: 本篇博…

MySQL 8.0 OCP(1Z0-908)中文题库解析

作者介绍:姚远,Oracle ACE(Oracle和MySQL数据库方向),华为云MVP,《MySQL 8.0运维与优化》的作者。中国第一个Oracle高可用大师,拥有包括 Oracle 10g和12c OCM在内的20数据库相关认证。曾任IBM公…

科比,老大1000天

不知不觉,老大已经走了1000天了,正好这个星期的数据分析的课就是科比投篮可视化,让我一起来分享一下吧。 对照列表机翻,仅供参考 action_type 进攻方式(更具体) combined_shot_type 进攻方式 game_event_id 比赛时…