牛客网——字节跳动2019春招编程试题
第一题:https://blog.csdn.net/weixin_42490152/article/details/100104444
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main(){ 4 int n; 5 cin>>n; 6 while(n--){ 7 string s,res; 8 cin>>s; 9 int j=0; 10 for(int i=0;i<s.size();i++){ 11 s[j++]=s[i]; 12 if(j>=3&&s[j-1]==s[j-2]&&s[j-2]==s[j-3]){ 13 j--; 14 }//AAA型错误 15 if(j>=4&&s[j-1]==s[j-2]&&s[j-3]==s[j-4]) 16 j--;//AABB型错误 17 } 18 res=s.substr(0,j); 19 cout<<res<<endl; 20 } 21 }
- 通过双指针,在原数组上进行变动;只需要最简单的暴力判断就能够解决问题;(思想简单点,别想太复杂了)
- 对于string,能够直接通过+= 处理 char*。