利用函数嵌套实现求阶层
时间: 2024-10-22 22:07:10 浏览: 19
用函数求阶层
利用函数嵌套(nested functions)可以在Python中递归地实现树或层次结构的遍历,例如求解树的深度或者层级。这里我们以求解二叉树的层数为例,每个节点都有一个值和两个子节点(左孩子和右孩子)。我们可以定义一个辅助函数来递归地计算当前节点所在的层,然后再用主函数来统计最大层数。
```python
class TreeNode:
def __init__(self, value=0, left=None, right=None):
self.value = value
self.left = left
self.right = right
def depth_of_tree(node, level=0):
# 辅助函数:检查当前节点是否为空,若非空则递增层级,并对左右子节点递归调用
if node is not None:
# 更新最大层级
max_depth = max(max_depth, level)
# 递归计算左右子树的深度
depth_of_tree(node.left, level+1)
depth_of_tree(node.right, level+1)
return max_depth
# 创建一个示例二叉树
root = TreeNode(1, TreeNode(2), TreeNode(3, TreeNode(4), TreeNode(5)))
# 计算树的最大层级
max_depth = depth_of_tree(root)
print(f"二叉树的最深深度为: {max_depth}")
阅读全文