代码
class Solution {
public:
bool isValidBST(TreeNode *root)
{
pre = NULL;
return isValidBSTHelper(root);
}
bool isValidBSTHelper(TreeNode *root)
{
if(root)
{
if (!isValidBSTHelper(root->left))
return false;
// Allows only distinct valued nodes
if (pre!= NULL && root->val <= pre->val)
return false;
pre = root;
return isValidBSTHelper(root->right);
}
return true;
}
private:
TreeNode *pre;
};