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     }

  • 相关阅读:
    设计模式学习——单例模式
    设计模式六大原则
    OIDC in Angular 6
    Angualr6访问API
    Angular6项目搭建
    Springboot 文件上传(带进度条)
    Oracle同义词(synonym)
    hexo从零开始到搭建完整
    Spring Security验证流程剖析及自定义验证方法
    Java设计模式-工厂方法模式(Factory Method)
  • 原文地址:https://www.cnblogs.com/springfor/p/3879824.html
Copyright © 2011-2022 走看看