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     }

  • 相关阅读:
    GAN 的推导、证明与实现。
    WGAN学习笔记
    常用损失函数积累
    交叉熵在loss函数中使用的理解
    贝叶斯决策
    极大似然估计
    gated pixelCNN。
    三叉搜索树 转载
    Rabin-Karp 字符串匹配算法
    面试题整理 转载
  • 原文地址:https://www.cnblogs.com/springfor/p/3879824.html
Copyright © 2011-2022 走看看