美文网首页
leetcode: 110. Balanced Binary T

leetcode: 110. Balanced Binary T

作者: 唐僧取经 | 来源:发表于2018-09-21 09:24 被阅读0次

    110. Balanced Binary Tree

    Description

    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.

    Example 1:
    
    Given the following tree [3,9,20,null,null,15,7]:
    
        3
       / \
      9  20
        /  \
       15   7
    Return true.
    
    Example 2:
    
    Given the following tree [1,2,2,3,3,null,null,4,4]:
    
           1
          / \
         2   2
        / \
       3   3
      / \
     4   4
    Return false.
    

    Answer

    
    func help(root *TreeNode, res *bool) int {
        if *res == false {
            return 0
        }
        if root == nil {
            return 0
        }
        left := help(root.Left, res)
        right := help(root.Right, res)
        if math.Abs(float64(left)-float64(right))>1 {
            *res = false;
            return 0;
        }
        if left > right {
            return left + 1
        }
        return right + 1
    
    }
    func isBalanced(root *TreeNode) bool {
        res := true
        help(root, &res)
        return res
    }
    
    
    
    

    相关文章

      网友评论

          本文标题:leetcode: 110. Balanced Binary T

          本文链接:https://www.haomeiwen.com/subject/klxanftx.html