LeetCode 98 验证二叉搜索树

Posted 不搞事情和咸鱼有什么区别

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 98 验证二叉搜索树相关的知识,希望对你有一定的参考价值。

最开始想的方法用一个vector存下这颗树的中序遍历,然后看这个vector是否严格升序。这里空间复杂度高了,实际上在递归遍历

二叉树的时候,设定好每个节点的上界和下界,在界限内就ok了,正常递归就可以了。

 

AC代码:

class Solution {
public:
    //  加一个界限
   bool isValidBST(TreeNode* root) {
        return isValidBST(root, LONG_MIN, LONG_MAX);
    }
    bool isValidBST(TreeNode *root, long min, long max) {
        if (!root) return true;
        if (root->val <= min || root->val >= max) return false;
        return isValidBST(root->left, min, root->val) && isValidBST(root->right, root->val, max);
    }

};

 

以上是关于LeetCode 98 验证二叉搜索树的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode98. 验证二叉搜索树(递归)

[JavaScript 刷题] 树 - 验证二叉搜索树, leetcode 98

LeetCode:验证二叉搜索树98

LeetCode 98 验证二叉搜索树

LeetCode 98. 验证二叉搜索树

LeetCode 98. 验证二叉搜索树