2023年1月22日 星期日

98. Validate Binary Search Tree

解題心得

如果只比 root 值還有 root 左子樹右子樹三個節點會錯。

改用傳當前區間去做比對。

程式碼

class Solution {
public:
    bool isValid(TreeNode* root, long min, long max)
    {
        if(root == nullptr)
            return true;
        if(!(min < root->val && root->val < max))
            return false;
        return isValid(root->left, min, root->val) && isValid(root->right, root->val, max);
    }
    bool isValidBST(TreeNode* root) {
        return isValid(root, LLONG_MIN, LLONG_MAX);
    }
};

沒有留言:

張貼留言