0056 去除字符串中重复的字符
思路:
1)对每个字符,检查在已发现的字符集合中是否已经存在;
2)若存在,则跳过,否则加入到已发现的字符集合中。
#include<iostream>
#include<string.h>
using namespace std;
void removeDuplicates(char* str)
{
if(str==NULL)
return;
int len = strlen(str);
if(len < 2) return;
int tail = 1;
for(int i=1;i<len;i++)
{
int j;
for(j=0;j<tail;j++)
if(str[i]==str[j])
break;
if(j==tail)
{
str[tail]=str[i];
++tail;
}
}
str[tail]=0;
}
int main()
{
char s[]="abcccdd";
int len = strlen(s);
cout<<s<<endl;
removeDuplicates(s);
cout<<s<<endl;
return 0;
}

浙公网安备 33010602011771号