为了节省时间,我们只需判断左右两个子树是否都是一棵平衡二叉树,当递归到高度差大于1时就返回-1,不用再递归下去浪费时间了
class Solution: def IsBalanced_Solution(self, pRoot): # write code here def get_depth(root): if not root: return 0 left=get_depth(root.left) right=get_depth(root.right) if left==-1 or right==-1: return -1 if abs(left-right)<=1: return max(left,right)+1 else: return -1 if not pRoot: return True return get_depth(pRoot)!=-1