题目描述
小南现在有一段由小写字母组成的文本s,他每天的工作就是找到文本中两个相邻并且相同的字母,然后删除它们。注意这个删除过程可能是重复的,比如:"abbac"->"aac"->"c"。 也就是说最终的文本中没有相邻相同的字母。
输入
单样例。每个测试文件只有一个样例输入,输入的一行文本的长度len满足1≤len≤105。输出
输出一行,代表处理后的文本。样例输入 Copy
abbbac
样例输出 Copy
abac
1 #include <stdio.h> 2 #include <string.h> 3 4 #define MaxSize 100000 5 6 int main(){ 7 char s[MaxSize]; 8 scanf("%s",&s); 9 int len = strlen(s); 10 int sum = 0; 11 int sum2 = 0; 12 while (1){ 13 int i=1; 14 for (i=1;i<len;++i){ 15 if(s[i-1]!=s[i]){ 16 s[sum++]=s[i-1]; 17 }else{ 18 i++; 19 } 20 } 21 if (i==len){ 22 s[sum++]=s[i-1]; 23 } 24 if (sum==len||sum==sum2||sum==1){ 25 break; 26 } else { 27 sum2=sum; 28 len=sum; 29 sum=0; 30 } 31 } 32 len=sum; 33 for (int i = 0; i < len; ++i){ 34 printf("%c",s[i]); 35 } 36 printf("\n"); 37 return 0; 38 }
标签:删除,int,字母,len,相邻,文本 From: https://www.cnblogs.com/messing1758954258/p/16998557.html