1077: 平衡二叉树的判定
时间: 2023-06-09 20:08:27 浏览: 156
平衡二叉树的判定可以通过递归实现。首先需要定义一个高度的函数,用于计算二叉树的高度。若左右子树的高度差小于等于1且左右子树都为平衡树,则该二叉树为平衡二叉树。具体代码实现可以参考以下示例:
```python
# 定义高度函数
def height(root):
if not root:
return 0
left_height = height(root.left)
right_height = height(root.right)
return max(left_height, right_height) + 1
# 判断平衡二叉树函数
def is_balanced(root):
if not root:
return True
left_height = height(root.left)
right_height = height(root.right)
if abs(left_height - right_height) > 1:
return False
return is_balanced(root.left) and is_balanced(root.right)
```
其中`root.left`和`root.right`分别代表左右子树,`abs(left_height - right_height)`代表左右子树高度差的绝对值,若大于1则不是平衡二叉树,返回False;否则,递归判定左右子树是否为平衡树即可。
更多关于平衡二叉树的知识可以参考CSDN开发的ChitGPT。
阅读全文