1078. Occurrences After Bigram

1078. Occurrences After Bigram

给一个句子,英文单词之间用空格分隔开,给定第一个词和第二个词,将接着的所有第三个词都返回

只要查找所有的:词1 + 空格 + 词2 + 空格 即可

// time: O(N)
// space: O(k) k 为结果的个数
vector<string> findOcurrences(string str, string first, string second) {
    string sub = first + " " + second + " ";
    vector<string> res;
    int p = str.find(sub, 0);
    while(p != string::npos)
    {
        int st=p+sub.size();
        string s;
        for(int i=st;i<str.size()&&str[i]!=' ';++i) {
            s.push_back(str[i]);
        }
        if (!s.empty()) res.push_back(s);
        p = str.find(sub,st);
    }
    return res;
}

#string