1.substr,复制字串
2.erase 清除
2.从开始判断,ans.substr(ans.size()-tlen,ans.size())==t,开始清除
#include <iostream>
using namespace std;
#include <string>
#include <cstdio>
#include <cstring>
#include <bits/stdc++.h>
int main()
{
string s,t,ans;
cin>>s>>t;
int slen=s.size(),tlen=t.size();
for(int i=0;i<slen;i++) {
ans+=s[i];
if(ans.size()>=tlen&&ans.substr(ans.size()-tlen,ans.size())==t)
ans.erase(ans.begin()+ans.size()-tlen,ans.end());
}
cout<<ans;
return 0;
}
}
#include <iostream>
#include <string>
#include <cstdio>
#include <cstring>
#include <bits/stdc++.h>
#include <algorithm>
using namespace std;
int main()
{
string s,t;
cin>>s>>t;
int slen=s.length(),tlen=t.length();
for(int i=0;i<slen;i++) {
if(s.substr(i,tlen)==t) {
s.erase(i,tlen);
i=max(0,i-tlen);
}
}
cout<<s;
return 0;
}
print('Hello world!')