c - 删除C中字符串中的相邻重复项

标签 c c-strings

如何删除 C 中字符串中的所有相邻重复项。例如,如果“caaabbcdd”是给定字符串,那么它应该按顺序删除

 1. cbbcdd

 2. ccdd

 3. dd

因此最终返回一个空字符串。开始的时间复杂度可以是 O(n^2)。任何人都可以帮忙吗?

到目前为止,这是我所做的

void recursiven2(char *str)
{
int i,j,k,len;
    len=strlen(str);
    for(i=0;i<len-1;i++)
    {
    if(str[i]==str[i+1])
    {
        for(j=i;j<len-2;j++)
            str[j]=str[j+2];
        str[j]='\0';
    }
    }

}

最佳答案

您可以引用this 。它有一个非常好的解释。

关于c - 删除C中字符串中的相邻重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20049661/

相关文章:

c - 多线程应用程序中的 __attribute__((constructor)) && __attribute__((destructor))

c++ - 使用 fread 读入 int 缓冲区

c++ - 如何修复将文字字符串附加到 C 字符串的错误?

c - 关于将字符串初始化为数组

c++ - 如何从 C 文件调用 Cpp 函数

c - 将指针值数组传递给c中的文件

c - 将整数添加到 char 数组以获得良好的输出

c - 传递字符串数组并对它们进行排序(在 C 中)

c - 打印数字的二进制表示

c++ - 将 c 字符串的地址转储到 ostream?