FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

GitHub Viewer

package code; /* * 98. Validate Binary Search Tree * 题意:判断是否为二叉搜索树 * 难度:Medium * 分类:Tree, Depth-first Search * 思路:两种方法,一种递归;另一种中序遍历的思路; * Tips:递归时注意设置最大最小两个参数,因为节点间val限制会传递的 */ 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_VALUE是接近0的正数 } public static boolean dfs(TreeNode root, double min_bound, double max_bound){ //设置两个参数,一个最大值,一个最小值 if (root == null) return true; if (root.val >= max_bound || root.val

Back | FazBrowse Home | New Git URL