其他分享
首页 > 其他分享> > 验证二叉搜索树(BST) Leetcode98题(巨简洁)

验证二叉搜索树(BST) Leetcode98题(巨简洁)

作者:互联网

long pre = LONG_MIN;
bool isValidBST(struct TreeNode* root){
    if(!root)return true;

    if(!(isValidBST(root->left))) return false;
    if(root->val <= pre)return false;

    pre = root->val;
    
    return isValidBST(root->right);
}

 

 变量pre 用Long是因为root的值可能是INT_MIN,用INT的话会判断失败 (血的教训 = =!)

 另外,pre要用全局变量,否则的话

isValidBST(root->right)
会读不进去上一个pre,右子树的左子树如果小于上一个节点的话就会直接被跳过。

标签:Leetcode98,pre,right,return,MIN,BST,二叉,root,isValidBST
来源: https://www.cnblogs.com/wintermist/p/15600578.html