public boolean checkBST(TreeNode node, int min, int max) {
		if(node == null) return true;
		if(node.val <= min || node.val >= max) return false;
		return ((node.left == null) ? true : checkBST(node.left, min, node.val)) &&
				((node.right == null) ? true : checkBST(node.right, node.val, max));
	}