递归解法
二叉树平衡检查
http://www.nowcoder.com/questionTerminal/b6bbed48cd864cf09a34a6ca14a3976f
本题使用递归即可轻松解决。
public boolean isBalance(TreeNode root) {
// write code here
if(root==null){
return true;
}
int leftHeight=getTreeHeight(root.left);
int rightHeight=getTreeHeight(root.right);
int dif=leftHeight-rightHeight;
if (dif>1||dif<-1){
return false;
}
return isBalance(root.left)&&isBalance(root.right);
}
/**
* 计算树的高度
* @param root
* @return
*/
public int getTreeHeight(TreeNode root){
if(root==null){
return 0;
}
return Math.max(getTreeHeight(root.left),getTreeHeight(root.right))+1;
} 
查看23道真题和解析