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