E1078: Bigram分词
https://leetcode.cn/problems/occurrences-after-bigram/
思路:注意到text是以空格分割的,因此可以用流函数来构建wordList,再寻找符合条件的答案插入到结果列表即可
cpp
class Solution
{
public:
vector<string> findOcurrences(string text, string first, string second)
{
vector<string> wordList;
stringstream ss(text);
string word;
while (ss >> word)
{
wordList.push_back(word);
}
vector<string> result;
for (int i = 0; i < wordList.size() - 2; i++)
{
if (wordList[i] == first && wordList[i + 1] == second)
{
result.push_back(wordList[i + 2]);
}
}
return result;
}
};思路:分词后遍历即可
cpp
class Solution {
public:
vector<string> findOcurrences(string text, string first, string second) {
//遍历即可
//将text分词
vector<string> dic;
string tmp="";
for(int i=0;i<text.size();i++){
if(text[i]!=' ') tmp+=text[i];
else{
dic.push_back(tmp);
tmp="";
}
}
dic.push_back(tmp);
vector<string> ans;
for(int i=0;i<dic.size();i++){
if(dic[i]==first){
if(i+2<dic.size()&&dic[i+1]==second){
ans.push_back(dic[i+2]);
}
}
}
return ans;
}
};