LeetCode:98 Posted on 2020-05-16 1234567891011121314class Solution { public boolean isValidBST(TreeNode root) { if(root==null) {return true;} return helper(root,Long.MAX_VALUE,Long.MIN_VALUE); } public static boolean helper(TreeNode root, long max, long min) { if(root==null) {return true;} if(root.val>min && root.val<max){ return helper(root.left,root.val,min) & helper(root.right,max,root.val); } return false; }} 利用左节点小于根节点,右节点大于根节点的性质,不断更新max和min的值,来限定当前节点值的范围,使用Long的原因是因为有些奇怪的测试用例,比如:[2147483647]。