55拓展. 平衡二叉树

平衡二叉树

http://www.nowcoder.com/questionTerminal/8b3b95850edb4115918ecebdf1b4d222

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

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务