1. 直接暴力过,判断两个条件 不过不推荐
- 补充string的erase()函数非常好用,开始下标,删除几个。s初始化=""即可。
#include<iostream>
using namespace std;
int main(){
int m=0;
string s;
cin>>m;
while(m--){
s="";
cin>>s;
for(int i=0;i<s.size();i++){
while((s[i]==s[i+1] && s[i]==s[i+2] && s[i]!='\0') ||
(s[i]==s[i+1] && s[i+2]==s[i+3] && s[i]!='\0'&& s[i+3]!='\0'))
{
s.erase(i+2, 1);
}
}
cout<<s<<endl;
}
return 0;
}
京公网安备 11010502036488号