如何删除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/

10-11 22:59
查看更多