求二叉树的高度
时间: 2023-08-29 16:07:27 浏览: 48
二叉树的高度可以通过递归的方式求解,具体代码如下:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def height(root):
if root is None:
return 0
else:
left_height = height(root.left)
right_height = height(root.right)
return max(left_height, right_height) + 1
```
其中,height函数用于计算二叉树的高度,输入参数为二叉树的根节点,返回值为二叉树的高度。如果二叉树为空,则高度为0;否则,分别计算左子树和右子树的高度,取最大值加1即为整个二叉树的高度。
相关问题
编写算法求二叉树高度
编写算法求二叉树的高度可以使用递归的方式来实现。下面是一个示例算法:
1. 如果二叉树为空,则返回0。
2. 否则,递归计算左子树的高度,记为left_height。
3. 递归计算右子树的高度,记为right_height。
4. 返回左子树高度和右子树高度中的较大值加1。
以下是示例代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def get_tree_height(root):
if root is None:
return 0
else:
left_height = get_tree_height(root.left)
right_height = get_tree_height(root.right)
return max(left_height, right_height) + 1
```
编写求二叉树高度的函数
好的,以下是求二叉树高度的函数的Python代码实现:
```python
class TreeNode:
def __init__(self, val=0, left=None, right=None):
self.val = val
self.left = left
self.right = right
def get_height(root):
if not root:
return 0
left_height = get_height(root.left)
right_height = get_height(root.right)
return max(left_height, right_height) + 1
```
其中,`TreeNode`为二叉树节点的类定义,`get_height`为求二叉树高度的函数,`root`为根节点。函数的实现采用递归的方式,分别计算左子树和右子树的高度,取两者中的较大值并加上1即为整棵树的高度。如果根节点为空,则返回0。