Python实现二叉树的最小深度的两种方法
作者:求兵 时间:2022-05-24 03:30:17
找到给定二叉树的最小深度
最小深度是从根节点到最近叶子节点的最短路径上的节点数量
注意:叶子节点没有子树
Example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its minimum depth = 2.
1:算法遍历二叉树每一层,一旦发现某层的某个结点无子树,就返回该层的深度,这个深度就是该二叉树的最小深度
def minDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if not root:
return 0
curLevelNodeList = [root]
minLen = 1
while curLevelNodeList is not []:
tempNodeList = []
for node in curLevelNodeList:
if not node.left and not node.right:
return minLen
if node.left is not None:
tempNodeList.append(node.left)
if node.right is not None:
tempNodeList.append(node.right)
curLevelNodeList = tempNodeList
minLen += 1
return minLen
2:用递归解决该题和"二叉树的最大深度"略有不同。主要区别在于对“结点只存在一棵子树”这种情况的处理,在这种情况下最小深度存在的路径肯定包括该棵子树上的结点
def minDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if not root:
return 0
if not root.left and root.right is not None:
return self.minDepth(root.right)+1
if root.left is not None and not root.right:
return self.minDepth(root.left)+1
left = self.minDepth(root.left)+1
right = self.minDepth(root.right)+1
return min(left,right)
算法题来自:https://leetcode-cn.com/problems/minimum-depth-of-binary-tree/description/
来源:https://blog.csdn.net/qiubingcsdn/article/details/82419605
标签:Python,二叉树,最小深度
0
投稿
猜你喜欢
超简单的Python HTTP服务
2023-01-22 06:19:15
python绘图subplots函数使用模板的示例代码
2023-05-23 06:05:01
如何在Python 游戏中模拟引力
2021-11-28 21:51:27
JavaScript setTimeout与setTimeinterval使用案例详解
2024-04-18 09:45:10
response.setHeader()方法设置http文件头的值
2010-03-11 22:43:00
Python学习之时间包使用教程详解
2022-07-18 11:26:39
通过遮罩层实现浮层DIV登录的js代码
2024-06-24 00:08:58
Python OpenCV超详细讲解基本功能
2021-04-26 11:47:36
Python创建字典的八种方式
2021-02-05 20:43:18
浅谈vue获得后台数据无法显示到table上面的坑
2024-05-13 09:07:16
一个ASP(VBScript)简单SQL语句构建“类”
2008-03-12 07:08:00
python中lambda()的用法
2022-07-19 05:15:45
用python建立两个Y轴的XY曲线图方法
2023-06-30 15:01:26
Go语言操作MySQL的知识总结
2024-01-26 01:43:17
详解如何在 Linux 中安装最新的 Python 3.6 版本
2022-03-25 15:06:21
windows下安装Python虚拟环境virtualenvwrapper-win
2023-12-23 11:24:08
Vue中computed和watch的区别
2024-05-29 22:22:50
js自定义trim函数实现删除两端空格功能
2024-04-29 13:21:34
Python实现连接MySQL数据库的常见方法总结
2024-01-22 05:28:26
Python批量修改文本文件内容的方法
2022-07-16 08:37:43