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