首页 > 其他分享 >相邻相同字母删除

相邻相同字母删除

时间:2022-12-22 14:25:08浏览次数:24  
标签:删除 int 字母 len 相邻 文本

题目描述

小南现在有一段由小写字母组成的文本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

相关文章