public boolean isBalanced(TreeNode root) {
if(root==null)return true;
// boolean result = false;
if(Math.abs(depth(root.left)-depth(root.right))>1)return false;
else
return isBalanced(root.left)&&isBalanced(root.right);
// result = Math.abs(depth(root.left)-depth(root.right))<=1?true:false;
// return result;
}
public int depth(TreeNode root){
if(root==null)return 0;
else return Math.max(depth(root.left),depth(root.right))+1;
}
对于判断平衡二叉树,由于需要遍历每个子节点,所以当当前遍历的子节点满足条件时不能证明该子树满足条件,需要继续向下遍历其子节点,但如果该节点不能满足要求,则该子树即可判定不能满足要求。