zoukankan      html  css  js  c++  java
  • leetcode Balanced Binary Tree

    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.

     1 /**
     2  * Definition for binary tree
     3  * public class TreeNode {
     4  *     int val;
     5  *     TreeNode left;
     6  *     TreeNode right;
     7  *     TreeNode(int x) { val = x; }
     8  * }
     9  */
    10 public class Solution {
    11     
    12         private int heightOfTree(TreeNode root) {
    13         int height;
    14         if (root == null) {
    15             return -1;
    16         }
    17         
    18         int hleft=heightOfTree(root.left);
    19         int rlegt=heightOfTree(root.right);
    20         height=1+Math.max(hleft, rlegt);
    21         return height;
    22     }
    23     
    24     public boolean isBalanced(TreeNode root) {
    25         if (root == null) {
    26             return true;
    27         }
    28         int height=heightOfTree(root.left)-heightOfTree(root.right);
    29         if (height>1 || height<-1) {
    30             return false;
    31         }
    32         if (!isBalanced(root.left)) {
    33             return false;
    34         }
    35         if (!isBalanced(root.right)) {
    36             return false;
    37         }
    38         return true;
    39         
    40     }
    41 }
  • 相关阅读:
    TCP之Nagle算法与TCP_NODELAY
    CSPS模拟 87
    CSPS模拟 86
    CSPS模拟 85
    CSPS模拟 84
    CSPS模拟 83
    CSPS模拟 82
    CSPS模拟 81
    CSPS模拟 80
    CSPS模拟 79
  • 原文地址:https://www.cnblogs.com/birdhack/p/3994366.html
Copyright © 2011-2022 走看看