1. 直接暴力过,判断两个条件 不过不推荐

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