· 如何判断平衡二叉树?
答:左右子树高度相差不超过一。
题目描述
输入一棵二叉树,判断该二叉树是否是平衡二叉树
思路
后续遍历二叉树,遍历过程中求出二叉树的高度,判断是否平衡。
public class Main{
private boolean isBalance = true;
public boolean isBalanceTree(TreeNode root){
if(root == null) return true;
getval(root);
return isBalance;
}
public int getval(TreeNode root){
if(root == null) {
return 0;
}
int left =0 ;
int right =0;
left = getval(root.left);
right = getval(root.right);
if(Math.abs(left - right ) >1){
isBalance = false;
}
return left > right ? left+1 : right+1;
}
}