删除小写字母字符串中重复字符
来源:互联网 发布:周笔畅的淘宝店 编辑:程序博客网 时间:2024/06/06 18:21
因为删除的是小写字母字符串,所以开辟一个数组b[26]
首先初始化b全部为false
如果对应的b[arr[i]]是false,则将false置为true,同时将arr[j] = arr[i],++j
(也就是说,假如该字符串为aaaabb,则在第一次遇到a时,将false置为true,后面在遇到a时,不在满足if条件,当遇到b时,此时i=4,j=1,将arr[j] = arr[i],也就是把b放在a后面
最后,在arr[j]位置放上’/0’
void RemoveSameElement(char* arr){ bool b[26]; memset(b, 0, sizeof(b)); int j = 0; for (int i = 0; i < strlen(arr); ++i) { if (!b[arr[i]]) { b[arr[i]] = true; arr[j] = arr[i]; ++j; } } arr[j] = '\0';}
除此以外,对代码进行优化。
还可以用位示图来解决,只需要一个int(4字节32位)即可实现。
void RemoveSameElement2(char s[]){ unsigned int check = 0; int len = strlen(s); int j = 0; int v = 0; for (int i = 0; i < len; i++) { v = s[i] - 'a'; if (!(check & (1 << v))) { s[j] = s[i]; j++; check |= (1 << v); } } s[j] = '\0';}
阅读全文
0 0
- 删除小写字母字符串中重复字符
- 删除小写字母字符串中重复字符
- 删除小写字母字符串中重复字符。
- 删除小写字母字符串中重复字符
- 【字符串】删除小写字母字符串中重复字符
- 【数据结构】中删除小写字母字符串中重复字符
- 删除小写字母字符串中重复字符。如果可以,优先删除重复字符中排在比他小字符前面的字符。
- 实现循环右移和删除小写字母字符串中重复字符——题集(二十)
- 给定一个只包含小写字母的字符串,删除重复的字母,每个字母只出现一次。在所有结果中,输出字典顺序最小的。
- 删除字符串中重复字符
- 删除字符串中重复字符
- 删除字符串中重复字符
- 删除字符串中重复字符
- 删除字符串中重复字符
- 删除字符串中重复字符。
- C# 删除字符串中除字母和数字之外的其它字符,C#将字符串中的大写转小写,小写转大写
- 59.删除字符串中的小写字母c
- 删除字符串中重复的字符
- SignalR如何搭建在Linux中以Nginx负载的服务端(C#)
- hadoop系列之一虚拟机安装
- scrapy 安装到基础使用(包含爬取jobbole文章)
- java一直是call by value,真的
- Media change: please insert the disc labeled
- 删除小写字母字符串中重复字符
- SourceTree本地分支误删解决办法
- 集成学习(Ensemble Learning)
- ODF光纤配线架
- Camera---获得摄像机的视口区域(转载大神雨松MOMO)
- Educational Codeforces Round 26 A. Text Volume
- Java上传Excel并解析
- 简单布隆过滤器实现、布隆过滤器扩展
- [转]深度学习如何入门?