zoukankan      html  css  js  c++  java
  • 110. Balanced Binary Tree 110.平衡二叉树

    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 left and right subtrees of every node differ in height by no 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

    一开始以为是最长路径和最短路径相减,不懂为啥直接是左右的最长路径相减了:没有最短。有长的子树就不用考虑短的了,所以是最长和最长的比较

    然后还是用求二叉树最大长度的那个方法
    有个奇葩的边界情况:左或者右节点为空时,长度返回-1

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode() {}
     *     TreeNode(int val) { this.val = val; }
     *     TreeNode(int val, TreeNode left, TreeNode right) {
     *         this.val = val;
     *         this.left = left;
     *         this.right = right;
     *     }
     * }
     */
    class Solution {
        public boolean isBalanced(TreeNode root) {
            //cc
            if (root == null) return true;
            return (helper(root) != -1);
        }
        
        public int helper(TreeNode root) {
            //cc
            if (root == null) return 0;
            
            int left = helper(root.left);
            int right = helper(root.right);
            
            if (left == -1 || right == -1 || Math.abs(left - right) > 1)
                return -1;
            
            return Math.max(left, right) + 1;
        }
    }
    View Code
     
  • 相关阅读:
    BZOJ_2460_[BeiJing2011]元素_线性基
    BZOJ_4448_[Scoi2015]情报传递_主席树
    BZOJ_4004_[JLOI2015]装备购买_线性基
    BZOJ_3110_[Zjoi2013]K大数查询_整体二分+树状数组
    BZOJ_4128_Matrix_矩阵乘法+哈希+BSGS
    BZOJ_4378_[POI2015]Logistyka_树状数组
    BZOJ_2527_[Poi2011]Meteors_整体二分
    BZOJ_2738_矩阵乘法_整体二分
    BZOJ_3687_简单题_bitset
    HDU 4501
  • 原文地址:https://www.cnblogs.com/immiao0319/p/12990749.html
Copyright © 2011-2022 走看看