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
     
  • 相关阅读:
    linux下挂载硬盘出错的解决方法
    linux下解压缩文件中文乱码问题的解决
    VLC播放器的快捷键(shutcut)
    PGSQL 日期时间的比较
    PGSQL 字符串作为查询参数的处理
    pqsql 防注入
    js字符数组转化为数字数组
    js去除字符串的前后空白
    使用gravatar生成头像
    js删除数组的某个元素
  • 原文地址:https://www.cnblogs.com/immiao0319/p/12990749.html
Copyright © 2011-2022 走看看