package leetcode;
public class Balanced_binary_tree {
public static void main(String[] args) {
}
public boolean isBalanced(TreeNode root) {
if(root == null) {
return true;
}else if((Math.abs(grtHeight(root.left) - grtHeight(root.right)) <= 1) && isBalanced(root.left) && isBalanced(root.right)) {
return true; //左子树是平衡树,右子树也是平衡树并且相差小于等于1,则就是平衡二叉树
}else {
return false;
}
}
private int grtHeight(TreeNode root) { //求高度的函数
// TODO Auto-generated method stub
if(root == null) {
return 0;
}
return Math.max(grtHeight(root.left), grtHeight(root.right)) + 1;
}
}