mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 19:44:45 +08:00
添加 98验证二叉搜索树Java简洁代码
This commit is contained in:
@ -304,6 +304,35 @@ class Solution {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 简洁实现·递归解法
|
||||||
|
class Solution {
|
||||||
|
public boolean isValidBST(TreeNode root) {
|
||||||
|
return validBST(Long.MIN_VALUE, Long.MAX_VALUE, root);
|
||||||
|
}
|
||||||
|
boolean validBST(long lower, long upper, TreeNode root) {
|
||||||
|
if (root == null) return true;
|
||||||
|
if (root.val <= lower || root.val >= upper) return false;
|
||||||
|
return validBST(lower, root.val, root.left) && validBST(root.val, upper, root.right);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 简洁实现·中序遍历
|
||||||
|
class Solution {
|
||||||
|
private long prev = Long.MIN_VALUE;
|
||||||
|
public boolean isValidBST(TreeNode root) {
|
||||||
|
if (root == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (!isValidBST(root.left)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (root.val <= prev) { // 不满足二叉搜索树条件
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
prev = root.val;
|
||||||
|
return isValidBST(root.right);
|
||||||
|
}
|
||||||
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
Reference in New Issue
Block a user