判断平衡二叉树
输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。
class Solution:
def isBalanced(self, root: TreeNode) -> bool:
if not root:
return True
left = self.depth(root.left)
right = self.depth(root.right)
if abs(left - right) <= 1:
return self.isBalanced(root.left) and self.isBalanced(root.right)
else:
return False
def depth(self, root):
if not root:
return 0
left = self.depth(root.left)
right = self.depth(root.right)
return max(left, right) + 1