在python语言中,编写递归算法:求二叉树的高度
时间: 2023-06-27 16:05:42 浏览: 122
python使用递归的方式建立二叉树
可以使用以下代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def tree_height(root: TreeNode) -> int:
if not root:
return 0
left_height = tree_height(root.left)
right_height = tree_height(root.right)
return max(left_height, right_height) + 1
```
其中,`TreeNode` 为二叉树节点的定义,包含一个值 `val` 和左右子节点 `left` 和 `right`。`tree_height` 函数为递归函数,用于求二叉树的高度。如果节点为空,返回高度为0;否则,分别求出左子树和右子树的高度,取二者中的最大值加1即为该节点所在子树的高度。最终返回根节点所在子树的高度即可。
阅读全文