实际上递归的求每一个左右子树的最大深度即可,如果差值大于1,返回一个-1的状态上去
class Solution {
public boolean isBalanced(TreeNode root) {
return depth(root)!=-1;
}
public int depth(TreeNode root) {
if (null == root) return 0;
int left = depth(root.left);
int right = depth(root.right);
if (left != -1 && right != -1 && Math.abs(left - right) <= 1) {
return Math.max(left, right) + 1;
} else {
return -1;
}
}
}
原文地址:https://www.cnblogs.com/acbingo/p/9918017.html
时间: 2024-10-12 16:44:12