题目
给定一个二叉树,判断它是否是高度平衡的二叉树。
本题中,一棵高度平衡二叉树定义为:
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。
题解
class Solution:
def isBalanced(self, root: TreeNode) -> bool:
def height(root):
if not root:
return False
leftHeight = height(root.left)
rightHeight = height(root.right)
if leftHeight == -1 or rightHeight == -1 or abs(leftHeight-rightHeight) > 1:
return -1
return max(leftHeight, rightHeight) + 1
return height(root) != -1