为了节省时间,我们只需判断左右两个子树是否都是一棵平衡二叉树,当递归到高度差大于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
京公网安备 11010502036488号