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