package code;
/*
* 98. Validate Binary Search Tree
*
* Medium
* Tree, Depth-first Search
*
* Tipsval
*/
import java.util.Stack;
public class lc98 {
public static void main(String[] args) {
TreeNode tn1 = new TreeNode(0);
tn1.left = new TreeNode(-1);
//System.out.println(isValidBST(tn1));
System.out.println(isValidBST2(tn1));
}
public static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int x) { val = x; }
}
public static boolean isValidBST(TreeNode root) {
if(root==null)
return true;
return dfs(root, -Double.MAX_VALUE, Double.MAX_VALUE); // Double.MIN_VALUE0
}
public static boolean dfs(TreeNode root, double min_bound, double max_bound){ //
if (root == null) return true;
if (root.val >= max_bound || root.val