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     }

  • 相关阅读:
    jquery动画效果---animate()--滚屏
    一个前端的自我修养
    开发和测试
    jquery.find()
    c99和c++11的差异之一
    容器经典图
    C/C++中的##用法
    【心学.悟道】千圣皆过影,良知乃吾师
    memcpy, memset代码改写的方式
    三大软件原则
  • 原文地址:https://www.cnblogs.com/springfor/p/3879824.html
Copyright © 2011-2022 走看看