回顾一下递归三部曲:确定参数和返回类型;确定结束条件;确定每一层里面的处理逻辑
class Solution {
public boolean isBalanced(TreeNode root) {
if (height(root) != -1) return true;
else return false;
}
public int height(TreeNode root) {
if (root == null) return 0;
int left = height(root.left);
int right = height(root.right);
if (left == -1 || right == -1 || left - right > 1 || right -left >1 ) return -1;
else return left > right ? left + 1 : right + 1;
}
}