二叉树-后序遍历
class Solution {
public boolean isBalanced(TreeNode root) {
if (recursion(root) == -1) {
return false;
}
return true;
}
private int recursion(TreeNode root) {
if (root == null) {
return 0;
}
int left = recursion(root.left);
if (left == -1) {
return -1;
}
int right = recursion(root.right);
if (right == -1) {
return -1;
}
if ((left > right ? (left - right) : (right - left)) > 1) {
return -1;
}
return 1 + (left > right ? left : right);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50