[Leetcode]Balanced Binary Tree

来源:互联网 发布:四班三倒排班表软件 编辑:程序博客网 时间:2024/05/17 18:24

Given a binary tree, determine if it is height-balanced.

For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

判断树是否平衡~要维护树的深度,并且比较左右子树的深度差~代码如下~

class Solution:    # @param root, a tree node    # @return a boolean    def isBalanced(self, root):        return self.helper(root) >= 0            def helper(self, root):        if root is None: return 0        left = self.helper(root.left)        right = self.helper(root.right)        if left < 0 or right < 0 or abs(left - right) > 1:            return -1        return max(left, right) + 1


0 0
原创粉丝点击