问:输入一棵二叉树,判断该二叉树是否是平衡二叉树。
//平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
//这样就可以递归得到左右子树的高度,作差与1比较,判断是否是平衡二叉树
public class Solution {
public boolean isBalance=true;
public boolean IsBalanced_Solution(TreeNode root) {
getDepth(root);
return isBalance;
}
public int getDepth(TreeNode root){
if(root==null){
return 0;
}
int left = getDepth(root.left);
int right = getDepth(root.right);
if(Math.abs(left-right)>1){
isBalance=false;
}
return right>left ?right+1:left+1;
}
}