C++实现删除字符串中所有重复出现的字符
#include<iostream>
using namespace std;
char* DeleteRepeatCharacters(char* str)
{
if(str==NULL)
return NULL;
const int hashsize=256;
bool hashtable[hashsize];
for(int i=0;i<hashsize;i++)
hashtable[i]=false;
char* fast=str;
char* slow=str;
while(*fast!='\0')
{
if(hashtable[*fast]==true)
{
fast++;
}
else
{
hashtable[*fast]=true;
*slow=*fast;
slow++;
fast++;
}
}
*slow='\0';
return str;//注意这里返回是str不是返货fast或者是slow
}
int main()
{
char str[]="google";
char *StrResult;
StrResult=DeleteRepeatCharacters(str);
cout<<StrResult<<endl;
return 0;
}