void transform(char s [] , int n) {     int c = 0;     int c2 = 0;     for(int i=0;i<n;i++){         if(s[i] == 'A' && i+1<n && s[i+1] == 'B'){             s[i] = 'B';             s[i+1] = ' ';             c2++;         }         else if (s[i] == 'C') c++;     }     int i=0,j=1;     // i --> ' ' j--> char  swap(i,j)     for(;j<n&&i<n;){         cout << s[i] << endl;         if(s[i]!=' '){             i++;         }         else if(s[i]==' '){             j = i+1;             while(s[j]==' ' && j<n)j++;             if(j<n) swap(s[i],s[j]);         }     }     //deal with c     n = n + (c-c2);     i = i-1;     for(int k=n-1;k>=0 && i >= 0;i--){         if(s[i] == 'C'){             s[k--] = 'D';             s[k--] = 'C';         }         else s[k--] = s[i];     } }
点赞 5

相关推荐

牛客网
牛客企业服务