原题:#110_平衡二叉树
- 从上至下
- 结束条件:当根为空时结束递归
- 递归操作:比较左子树与右子树最大深度的差的绝对值,大于1则返回false
- 返回值:返回的值是左/右节点的最大深度
private boolean result = true;
public boolean isBalanced(TreeNode root) {
maxDepth(root);
return result;
}
public int maxDepth(TreeNode root) {
if (root == null) return 0;
int l = maxDepth(root.left);
int r = maxDepth(root.right);
if (Math.abs(l - r) > 1) result = false;
return 1 + Math.max(l, r);
}