您的位置:首页 > 其它

删除字符串中重复出现的字符

2012-09-08 11:37 363 查看
char * deleteDuplicatedChar(char *string)
{
if (strlen(string) <= 1)
return string;

char *pCurPos  = &string[1];
char *pLastPos = &string[1];

while (*pCurPos != '\0')
{
char *pComparePos;

for (pComparePos = string; pComparePos < pLastPos; pComparePos++)
{
if (*pCurPos == *pComparePos)
{
pCurPos++;
break;
}
}

if (pComparePos == pLastPos)
{
*pLastPos++ = *pCurPos++;
}
}
*pLastPos = '\0';

return string;
}

char * deleteDuplicatedChar2(char *string)
{
if (strlen(string) <= 1)
return string;

char HashTable[256] = {0};
char *pCurPos  = string;
char *pLastPos = string;

while (*pCurPos != '\0')
{
if (HashTable[*pCurPos] != 1)
{
HashTable[*pCurPos]++;
*pLastPos++ = *pCurPos++;
}
else
{
++pCurPos;
}
}
*pLastPos = '\0';

return string;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐