import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return bool布尔型 */ public boolean isValidBST (TreeNode root) { // write code here return check(root, Long.MIN_VALUE, Long.MAX_VALUE); } // 判断每个节点是否符合其左孩子节点值小于其值,右孩子节点值大于其值 public boolean check(TreeNode node, long min, long max){ if(node == null)return true; if(node.val <= min || node.val >= max)return false; return check(node.left, min, node.val) && check(node.right, node.val, max); } }