代码:
#include<bits/stdc++.h>
using namespace std;
#define N 300100
int a[N],b[N];
char s[N];
int main()
{
string s,ans="";
cin>>s;
for(int i=0;i<s.size();i++)
{
ans+=s[i];
if(ans.size()>=3&&ans.substr(ans.size()-3)=="ABC")
{
ans.erase(ans.end()-3,ans.end());
}
}
cout<<ans<<endl;
return 0;
}
思路:
遍历s字符串,将每个字符一次插入ans,每次插入后判断ans字符串后三位是否为"ABC"。
若是,则删去。
知识点:
1.strsub() 函数
C++中erase的用法_erase的用法 c++-CSDN博客
2.erase()函数