【Python练习】041. 编写一个函数,检查一个二叉树是否是平衡二叉树
041. 编写一个函数,检查一个二叉树是否是平衡二叉树
- 041. 编写一个函数,检查一个二叉树是否是平衡二叉树
- 示例代码
- 代码解释
- 测试结果
- 注意事项
- 平衡二叉树的定义
- Python实现检查平衡二叉树的函数
- 代码解析
- 适用场景
- 时间复杂度分析
041. 编写一个函数,检查一个二叉树是否是平衡二叉树
在 Python 中,可以通过递归方法检查一个二叉树是否是平衡二叉树。平衡二叉树的定义是:对于树中的每个节点,其左右子树的高度差不超过 1。
示例代码
class TreeNode:"""定义二叉树的节点类。"""def __init__(self, value=0, left=None, right=None):self.value = valueself.left = leftself.right = rightdef is_balanced(root):"""检查二叉树是否是平衡二叉树。参数:root (TreeNode): 二叉树的根节点。返回:bool: 如果二叉树是平衡二叉树,返回 True;否则返回 False。"""def check_height(node):"""递归检查节点的高度,并判断是否平衡。参数:node (TreeNode): 当前节点。返回:int: 如果子树平衡,返回子树的高度;否则返回 -1。"""if not node:return 0 # 空节点的高度为 0left_height = check_height(node.left)if left_height == -