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!')