您的位置:首页 > Web前端

How do you remove the duplicate characters in a given string without using any additional buffer.

2011-04-28 13:03 701 查看
void removeDuplicates(char* str)
{
if (!str)
return;
int len = strlen(str);
if (len < 2)
return;
int tail=1;
int j=0;
for(int i = 1; i < len; i++) {
for(j = 0; j < tail; j++) {
if(str[i] == str[j]) break;
}
if(tail == j)
str[tail++] = str[i];
}
str[tail] = '0';
}


终于搞明白是怎么回事情了,其实tail是一个point,来表示现在从左边数起第几个是需要check的,如果发现重复的,i 就继续往后走,tail不动。其实就是tail之前的所有的值都是不重复的,后面慢慢check.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐