题解 | #单词替换#
单词替换
https://www.nowcoder.com/practice/5b58a04679d5419caf62c2b238e5c9c7
- 基本思路:对输入串进行预处理,将字符串切分为单词,存入迭代器;
- 然后遍历迭代器,将单词逐个与目标词对比,判断是否需要替换,同时输出;
- 为了处理过程正确性,需要给输入串末尾添上空格。
#include <iostream> #include <vector> using namespace std; vector<string> str2word(string str){ vector<string> ans; for(int i=0;i<str.length();i++){ string word; while(str[i]!=' '){ word+=str[i++]; } ans.push_back(word); } return ans; } int main() { string str,a,b; getline(cin,str); str+=' '; cin>>a>>b; vector<string> word=str2word(str); for(int i=0;i<word.size();i++){ if(word[i]!=a) cout<<word[i]<<" "; else cout<<b<<" "; } return 0; }