public boolean checkIsBST(TreeNode<Integer> root, int min, int max) {
		if (root == null) {
			return true;
		}

		if (root.data > max || root.data < min) {
			return false;
		}

		if (!checkIsBST(root.left, min, root.data)) {
			return false;
		}
		if (!checkIsBST(root.right, root.data, max)) {
			return false;
		}
		return true;
	}