写一个递归函数计算二叉树的高度,只有一个根结点的二叉树高为1
时间: 2024-12-18 14:17:15 浏览: 12
要编写一个递归函数来计算二叉树的高度,我们可以考虑一个基本的原则:树的高度等于其最深叶子节点到根节点的距离。对于只包含一个根节点的情况,高度就是1。下面是一个简单的Python递归函数示例:
```python
class TreeNode:
def __init__(self, value=0, left=None, right=None):
self.value = value
self.left = left
self.right = right
def height(root):
# 如果根节点为空,树的高度为0
if root is None:
return 0
# 否则,树的高度等于左子树和右子树的最大高度加1
else:
left_height = height(root.left)
right_height = height(root.right)
# 返回两子树高度的最大值作为当前节点的高度
return max(left_height, right_height) + 1
# 创建一个只有一个根节点的二叉树实例
root = TreeNode()
# 然后调用height函数计算高度,应该返回1
print(height(root)) # 输出: 1
```
在这个例子中,`height` 函数会一直递归地检查每个子树的高度,直到遇到空节点,然后返回整个树的总高度。
阅读全文