1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
class Solution {
TreeNode prev = null;
public boolean isValidBST(TreeNode root) {
return inorder(root);
}
public boolean inorder(TreeNode node) {
if (node == null) return true;
// 左子树
if (!inorder(node.left)) return false;
// 当前节点必须大于中序遍历的前一个节点
if (prev != null && node.val <= prev.val) return false;
prev = node; // 更新前一个节点
// 右子树
return inorder(node.right);
}
}
|