这是一道简单题,不过思想还挺重要
题目:https://leetcode-cn.com/problems/ping-heng-er-cha-shu-lcof/
源自题解
class Solution {
public boolean isBalanced(TreeNode root) {
return dfs(root) != -1;
}
private int dfs(TreeNode root) {
if (root == null) return 0;
int left = dfs(root.left);
if (left == -1) return -1;
int right = dfs(root.right);
if (right == -1) return -1;
return Math.abs(left-right) < 2 ? Math.max(left, right) + 1 : -1;
}
}
自底向上
返回高度的同时判断是否满足平衡二叉树
不满足就不再返回高度,统一返回 -1 推出递归