删除字符串中重复出现的字符
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; }
相关文章推荐
- [算法] 定义一个函数,删除字符串中所有重复出现的字符。
- HWOJ 删除字符串中重复出现的字符
- 定义一个字符串类DelSameStr,从左到右对字符串中每个字符删除其后所有相同的字符,只留下第一次出现的那一个。例如,若字符串为”cocoon”,删除重复出现的字符后,其结果是字符串”con”
- C++实现删除字符串中所有重复出现的字符
- 删除一个字符串中重复出现的字符
- 剑指Offer----面试题35:扩展----删除字符串中所有重复出现的字符 & 变位词
- 剑指offer 面试题35扩展:删除字符串中所有重复出现的字符 (C++版)
- 删除字符串中所有重复出现的字符
- sqlserver分隔字符串,查找父类下所有子类,删除重复字符串,计算一字符串在别一字符中出现的次数
- 哈希表对字符串的高效处理4:删除字符串中重复出现的字符
- 从一个字符串中删除另一个字符串中出现过的字符
- 一个字符串中可能包括a-z中的多个字符,如有重复,求出现最多次数的那个字符及次数,如有多个重复的则都求出
- 一个字符串中可能包含a~z中的多个字符,如有重复,求出现次数最多的那个字母及次数,如有多个重复最多的则都输出。
- 删除字符串中的一个字符有重复的也删除掉
- 剑指Offer----面试题35:扩展----第一个字符串中删除第二个字符串中出现过的所有字符
- 删除字符串中出现次数最少的字符
- 《剑指Offer》:删除在另一个字符串中出现的字符
- 删除小写字母字符串中重复字符。如果可以,优先删除重复字符中排在比他小字符前面的字符。
- bitmap 删除字符串中重复字符
- 从一个字符串中删除另一个字符串中出现过的字符