(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
  • 5682

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

【110-Balanced Binary Tree(平衡二叉树)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given a binary tree, determin...

leetcode-java-110. Balanced Binary Tree

/* 平衡二叉树:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1 1.递归判断二叉树是否是平衡二叉树 2.递归找二叉树高度,求高度也是用递归 递归停止条件: 递归到叶子节点时...

leetcode的题目:Balanced Binary Tree

  • 2014年10月14日 09:34
  • 145KB
  • 下载

Balanced Binary Tree 平衡二叉树的检验

检验二叉树是否为Given a binary tree, determine if it is height-balanced. For this problem, a height-balan...

二叉树的深度&判断一棵二叉树是否是平衡二叉树&110. Balanced Binary Tree

二叉树的深度题目描述输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。如果一棵树为空,那么它的深度为0。如果一棵树只有一个结点,它...

110. Balanced Binary Tree [easy] (Python)

题目链接 https://leetcode.com/problems/balanced-binary-tree/ 题目原文 Given a binary tree, determine...

[LeetCode-7] Balanced Binary Tree

Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced bina...
  • sbitswc
  • sbitswc
  • 2014年05月21日 07:03
  • 774

lintcode balanced-binary-tree 平衡二叉树

问题描述平衡二叉树笔记这个题是没想出来,也没想起来了,最后参考了九章算法的解法。代码/** * Definition of TreeNode: * class TreeNode { * publ...

LeetCode 110. Balanced Binary Tree

1. 题目描述 Given a binary tree, determine if it is height-balanced. For this problem, a height-b...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(java)Balanced Binary Tree
举报原因:
原因补充:

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