题解 | 单词替换
单词替换
https://www.nowcoder.com/practice/5b58a04679d5419caf62c2b238e5c9c7
用数组保存每个单词,遍历数组拼接结果字符串,遍历过程中如果该单词为要被替换的,则拼接替换后的单词,否则拼接原单词,最后输入结果字符串
#include<iostream>
#include<map>
#include<queue>
#include<algorithm>
#include<string>
using namespace std;
int main() {
string str;
vector<string> s;
string c;
string v;
while (getline(cin, str) && getline(cin, c) &&getline(cin,v)) {
string tmp = "";
//将每个单词放在数组中
for (int i = 0; i < str.size(); i++) {
if (str[i] != ' '&&i!=str.size()-1) {
tmp += str[i];
}
else if (str[i] == ' ') {
s.push_back(tmp);
tmp.clear();
}
else if (i == str.size() - 1) {
tmp += str[i];
s.push_back(tmp);
tmp.clear();
}
else {
//什么也不做。
}
}
string jiegou;
//拼接结果字符串
for (int i = 0; i < s.size(); i++) {
if (s[i] == c) {
jiegou =jiegou+ v+" ";
}
else {
jiegou = jiegou + s[i] + " ";
}
}
cout << jiegou << endl;
}
return 0;
}