problem: https://leetcode.com/problems/validate-binary-search-tree/
tips:
二叉搜索树的概念是 左子树的所有元素小于 root, 右子树的所有元素大于root,以此类推。仅仅根据root->left->val < root->val && root->right->val > root->val 来递归判断是有问题的。你无法认证左子树的最右节点小于数的root。
所以根据二叉搜索树的性质,中序遍历将得到一个从小到大排序的序列,所以对其中序遍历,然后使得所有pre < root->val,唯一的例外是第一个节点的值可以等于pre,因为此时pre的值是无效的。