# lintcode : 平衡二叉树

#### 平衡二叉树

```A)  3            B)    3
/ \                  \
9  20                 20
/  \                / \
15   7              15  7```

```/**
* Definition of TreeNode:
* public class TreeNode {
*     public int val;
*     public TreeNode left, right;
*     public TreeNode(int val) {
*         this.val = val;
*         this.left = this.right = null;
*     }
* }
*/
public class Solution {
/**
* @param root: The root of binary tree.
* @return: True if this Binary tree is Balanced, or false.
*/
public boolean isBalanced(TreeNode root) {
// write your code here
if(root == null)
return true;
int lft = depth(root.left);
int rit = depth(root.right);
if(Math.abs(lft-rit)<=1){
return isBalanced(root.left)&&isBalanced(root.right);
}
else
return false;

}
public int depth(TreeNode root){
if(root ==null)
return 0;
if(root.left==null && root.right ==null)
return 1;
int lft = depth(root.left);
int rit = depth(root.right);
return Math.max(lft,rit) + 1;
}
}```

Java Code

原文作者：水滴失船
原文地址: https://www.cnblogs.com/theskulls/p/5104005.html
本文转自网络文章，转载此文章仅为分享知识，如有侵权，请联系博主进行删除。