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

    题目

    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.

    题解

     采用递归的方法,要记录depth用来比较。

     代码如下:

     1     public int checkBalanced(TreeNode t){
     2         if(t==null)
     3             return 0;
     4             
     5         int leftheight = checkBalanced(t.left);
     6         if(leftheight == -1)
     7             return -1;
     8         
     9         int rightheight = checkBalanced(t.right);
    10         if(rightheight == -1)
    11             return -1;
    12         
    13         if(Math.abs(leftheight-rightheight)>1)
    14             return -1;
    15         else
    16             return Math.max(leftheight,rightheight)+1;
    17     }
    18     
    19     public boolean isBalanced(TreeNode root) {
    20         if(checkBalanced(root) == -1)
    21             return false;
    22         else
    23             return true;
    24     }

  • 相关阅读:
    .NET中string和StringBuilder的区别
    Hashtable 类
    C#中null和""的区别
    Dictionary 泛型类
    宿主进程含义
    事件和委托
    关于SQLServer中索引使用及维护简介
    什么是序列化
    “锁定”语句(C# 参考)
    栈和托管堆/值类型和引用类型/强制类型转换/装箱和拆箱[C#]
  • 原文地址:https://www.cnblogs.com/springfor/p/3879824.html
Copyright © 2011-2022 走看看