题目链接:
给定一个二叉树,判断其是否是一个有效的二叉搜索树。
假设一个二叉搜索树具有如下特征:
节点的左子树只包含小于当前节点的数。
节点的右子树只包含大于当前节点的数。
所有左子树和右子树自身必须也是二叉搜索树。

思路:中序递归遍历二叉树。。。
1 /**
2 * Definition for a binary tree node.
3 * struct TreeNode {
4 * int val;
5 * TreeNode *left;
6 * TreeNode *right;
7 * TreeNode(int x) : val(x), left(NULL), right(NULL) {}
8 * };
9 */
10 class Solution {
11 public:
12 long minnum=LONG_MIN;
13 bool flag=true;
14 bool isValidBST(TreeNode* root) {
15 if(root==NULL) return true;
16 if(flag&&root->left) isValidBST(root->left);
17 if(root->val<=minnum) flag=false;
18 minnum=root->val;
19 if(flag&&root->right) isValidBST(root->right);
20 return flag;
21 }
22 };