题目是这个:给出第一个词 first 和第二个词 second,考虑在某些文本 text 中可能以 "first second third" 形式出现的情况,其中 second 紧随 first 出现,third 紧随 second 出现。
对于每种这样的情况,将第三个词 "third" 添加到答案中,并返回答案。
class Solution {
public:
vector<string> findOcurrences(string text, string first, string second) {
stringstream ss(text);
string s;
vector<string> strs;
vector<string> ans;
while(getline(ss,s,' ')){
strs.push_back(s);
int t = strs.size();
if(t>=3&&strs[t-2]==second&&strs[t-3]==first)
ans.push_back(s);
}
return ans;
}
};
c++ stringstream函数使用方法
1.ss>>tmp 从字符串流中读取一个字符串到tmp中,tmp遇到空格停止,比如输入"jie jie" 那么tmp中就是"jie",下一次为"jie"
2.还可以用它进行类型转化,
c++getline的使用方法
getline(a,b,c) a为来源,可以为cin,也可以为本文中的stringstream,b为寄存器,存储取得的值,c为中断方式,默认为换行时中断,可以看看这个里头的例子
//1
string s,tmp;
getline(cin,s);
stringstream ss(s);
ss>>tmp;
//2
int n;
cin>>n;
stringstream str1;
str1<<n; //将n的值读入到str1中
string str ;
str1>>str; //将字符串中的内容以字符串的形式读入到str中