这种强大简洁的写法薄纱了开一个int栈模拟编号T T
给跪了
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std ;
string s , p ;
string stk ;
int main()
{
cin >> s >> p ;
int lenp = p.length() ;
for(auto c : s)
{
stk += c ;
// 取stk末尾lenp个字符看看是否匹配,匹配就删了
while(stk.size() >= lenp && stk.substr(stk.size() - lenp ) == p )
stk.erase(stk.end() - lenp , stk.end() ) ;
}
cout << stk << endl ;
return 0 ;
}
关于这个while里的说法
1. substr:默认从位置t到末尾
2. erase: 一定要是迭代器end,size不行(这个我可能以后知道)