c语言编辑字符串删除重复字符 aaabbccccdddeeeee abcde
时间: 2023-06-19 15:04:47 浏览: 160
C语言-删除重复字符.zip
可以使用双指针的方法来实现,具体步骤如下:
1. 定义两个指针i和j,初始值都为0。
2. 从左到右遍历字符串,如果第i个字符和第j个字符不同,则将第i个字符赋值给第j+1个字符,然后i和j都加1,表示下一个字符需要和新的字符进行比较。
3. 如果第i个字符和第j个字符相同,则只将i加1,跳过该字符。
4. 最终,将j+1个字符到字符串结尾的字符全部赋值为空格,表示删除了重复的字符。
下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void delete_repeat(char* str) {
int i = 0, j = 0;
int len = strlen(str);
while (i < len) {
if (str[i] != str[j]) {
j++;
str[j] = str[i];
}
i++;
}
str[j + 1] = '\0';
}
int main() {
char str[] = "aaabbccccdddeeeee abcde";
delete_repeat(str);
printf("%s\n", str);
return 0;
}
```
输出结果为:`abcde`。
阅读全文