设计一个算法移除字符串中的重复字符,并写出测试用例。
解决思想: 1:对于每个字符,检查在一发现字符集合中是否已经存在。
2:若存在,则跳过,否则加入到已发现字符集合中。
1 #include2 3 void removeDuplicates(char *str) 4 { 5 if(str==NULL) 6 return; 7 int len=strlen(str); 8 if(len<2) 9 return;10 int tail=1;11 for(int i=1;i
测试用例:1:不含有重复字符的字符串,如“abcd”;
2: 含单一字符的字符串,如“aaaa”;
3: 空字符与空指针,如“”与NULL;
4:多个连续的字符串,如“aaabbb”;
5: 不连续重复的字符串,如“abababa”;
时间复杂度为O(n2);