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; }