今天这道题思路挺简单,但是我根本没有想到,通过ai的提示才写出来,就是直接不断改变当前值的范围。
昨天没有写题,背习概去了,真的差点把我背死了,能不能别让理科生背书啊啊啊啊,真的要花好久好久的时间才能背下来啊啊啊啊啊,我真的要被折磨疯了,当时有人说好几题不考,结果考了,生气,但是还是很感谢别人告诉我删减哪些题,因为我真的背不下所有题
98.验证二叉搜索树
题目:


题解:
java
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode() {}
* TreeNode(int val) { this.val = val; }
* TreeNode(int val, TreeNode left, TreeNode right) {
* this.val = val;
* this.left = left;
* this.right = right;
* }
* }
*/
class Solution {
public boolean dfs(TreeNode node,long min, long max) {
if(node == null) {
return true;
}
if(node.val <= min || node.val >= max) {
return false;
}
if(dfs(node.left, min, node.val) == false || dfs(node.right, node.val, max) == false) {
return false;
}
return true;
}
public boolean isValidBST(TreeNode root) {
return dfs(root, Long.MIN_VALUE, Long.MAX_VALUE);
}
}