算法:中序遍历树,如果是严格升序的序列,则是,否则不是BST
class Solution {
public:
bool flag = true;
bool isValidBST(TreeNode *root) {
if(root == NULL)
return true;
long pre = LONG_MIN;
helper(root,pre);
return flag;
}
void helper(TreeNode* root,long& pre){
//左子树
if(root->left!=NULL)
helper(root->left,pre);
//根
if(root->val <= pre)
flag = false;
pre = root->val;
//右子树
if(root->right != NULL)
helper(root->right,pre);
}
};