题目描述
单词替换
双指针同时要判断是不是一个单词
#include<iostream>
#include<string.h>
using namespace std;
int main(){
string s1,s2,s3;
string res = "";
getline(cin,s1);
getline(cin,s2);
getline(cin,s3);
for(int i = 0; s1[i]; i++){
if(s1[i]!=s2[0]) res += s1[i];
else if((i==0&&s1[i]==s2[0])||(s1[i-1]==' '&&s1[i]==s2[0])){
int j = i;
int k = 0;
while(j<s1.size()&&k<s2.size()&&s1[j]==s2[k]){
j++;
k++;
}
if(k==s2.size()&&(j==s1.size()||s1[j]==' ')){
res += s3;
}
else{
for(int k = i; k < j; k++){
res += s1[k];
}
}
i = j - 1;
}
else{
res += s1[i];
}
}
cout<<res;
return 0;
}