Python最小深度完整代码
时间: 2024-11-13 08:12:33 浏览: 6
Python实现二叉树的最小深度的两种方法
在Python中,我们可以使用递归的方式来求解最小路径深度(通常用于二叉树问题)。这里提供一个简单的最小深度查找函数的例子:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def minDepth(root):
if not root: # 如果根节点为空,则深度为0
return 0
elif not root.left and not root.right: # 如果左右子树都为空,那么当前节点就是最底层
return 1
else:
left_depth = minDepth(root.left) if root.left else float('inf') # 左子树的深度
right_depth = minDepth(root.right) if root.right else float('inf') # 右子树的深度
return 1 + min(left_depth, right_depth) # 返回左、右子树中最浅的那个加1作为当前层的深度
# 使用示例
# 创建一个二叉树
root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)
root.left.left = TreeNode(4)
# 调用minDepth计算最小深度
print(minDepth(root)) # 输出:2
```
这个代码首先检查根节点是否存在,然后分别计算左右子树的最小深度,最后返回两者之间的较小值加一。
阅读全文