(java)Balanced Binary Tree

原创 2015年11月18日 18:39:56

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.

题意就是判断一颗树是不是平衡二叉树。

思路:本题就是DFS下二叉树,遍历到这个点,判断这个节点是不是空,是的话就返回true,不是的判断,这个节点的左右子树的高度差是不是大于1,如果大于1,则返回false,然后再判断这个节点的左右子树是不是平衡二叉树,一直BFS遍历下去。

代码如下(已通过leetcode)

public class Solution {

   public boolean isBalanced(TreeNode root) {
    if(root==null) return true;
    if(Math.abs(depth(root.left)-depth(root.right))>1) {
    return false;
    }
    return isBalanced(root.left)&&isBalanced(root.right);
   }
  public int depth(TreeNode root) {
  if(root==null) return 0;
  return 1+Math.max(depth(root.left), depth(root.right));
  }
}

【LeetCode】Balanced Binary Tree 解题报告

【题目】 Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced bi...
  • ljiabin
  • ljiabin
  • 2014年10月12日 20:15
  • 5818

【LeetCode-面试算法经典-Java实现】【110-Balanced Binary Tree(平衡二叉树)】

【110-Balanced Binary Tree(平衡二叉树)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a binary tree, determin...
  • DERRANTCM
  • DERRANTCM
  • 2015年08月11日 07:34
  • 3745

LeetCode(110)Balanced Binary Tree

题目如下: 分析如下: 之前尝试一边计算深度,一边做判断,发现这是无法实现的。因为bool型的返回变量说明了返回值没有深度信息,而如果没有深度信息,那么就无法判断左子树和右子树的深度差是否为1.所...
  • feliciafay
  • feliciafay
  • 2014年01月16日 07:46
  • 5075

Leetcode_110_Balanced Binary Tree

本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42218839 Given a binary tre...
  • pistolove
  • pistolove
  • 2014年12月28日 21:35
  • 1421

LeetCode-Balanced Binary Tree && 二叉树的深度 && 二叉树的平衡

作者:disappearedgod 文章出处:http://blog.csdn.net/disappearedgod/article/details/24474235 时间:2014-5-20 ...
  • disappearedgod
  • disappearedgod
  • 2014年05月20日 13:16
  • 1026

【leetCode】 Balanced Binary Tree python版实现

原题链接Balanced Binary Tree实现原理解析 该题比较简单,主要思想是递归的判断左右子树的高度不大于1即可,注意异常处理 python代码实现class Solution(obje...
  • hongkangwl
  • hongkangwl
  • 2016年06月18日 16:56
  • 726

Leetcode-标签为Tree 110. Balanced Binary Tree

判断二叉树是否为平衡二叉树。
  • daigualu
  • daigualu
  • 2017年04月23日 09:49
  • 1398

LeetCode 110. Balanced Binary Tree 递归求解

题目链接:https://leetcode.com/problems/balanced-binary-tree/  110. Balanced Binary Tree My S...
  • bruce128
  • bruce128
  • 2016年02月23日 16:28
  • 1321

LeetCode | Balanced Binary Tree

题目: Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced ...
  • lanxu_yy
  • lanxu_yy
  • 2013年09月21日 23:36
  • 4623

AVL树(平衡二叉树(Balanced Binary Tree))

转载地址是  http://noalgo.info/661.html AVL树是一种自平衡的二叉查找树(Balanced Binary Tree),由于其任意节点的左右子树的高度差至多为一,查找...
  • lfdanding
  • lfdanding
  • 2015年06月08日 12:57
  • 684
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(java)Balanced Binary Tree
举报原因:
原因补充:

(最多只允许输入30个字)