004字符串去重 (keep it up)
来源:互联网 发布:网络公关公司良心哥 编辑:程序博客网 时间:2024/06/18 17:52
设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意: 可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。
简单题直接上代码:
#include <stdio.h>#include <string.h>void remove_duplicate(char vStr[]){int Len = strlen(vStr);if (!Len) {printf("the string is NULL\n");return ;} int Count = 0;for (int i=0; i<Len; ++i){if (vStr[i] != '\0'){vStr[Count++] = vStr[i];for (int k=i+1; k<Len; ++k){if (vStr[i] == vStr[k]){vStr[k] = '\0';}}}}vStr[Count] = '\0';}void remove_duplicate2(char vStr[]){int Len = strlen(vStr);if (!Len) {printf("the string is NULL\n");return ;}bool Visited[256];memset(Visited, 0, sizeof(Visited));int Count = 0;for (int i=0; i<Len; ++i){if (!Visited[vStr[i]]){vStr[Count++] = vStr[i];Visited[vStr[i]] = true;}}vStr[Count] = '\0';}void test(){char Str[] = "13434343435568889hhhhhhhfdcvbb";remove_duplicate(Str);printf("%s\n", Str);}
keep it up 每周都写几道算法题,entertainment!
0 0
- 004字符串去重 (keep it up)
- 007 字符串(keep it up)
- ZOJ1711-sum it up(DFS+去重)
- 025 替换字符串中的空格(keep it up)
- zoj 1711 || poj 1564 Sum It Up(DFS~~~去重~)
- POJ 题目1564 Sum It Up(DFS,去重)
- Sum It Up(DFS+剪枝+去重)
- HDU 1258 Sum It Up (dfs+去重)
- 【HDU 1258】Sum It Up(DFS,去重技巧)
- (017)将一棵二叉查找树重构成链表(keep it up)
- 005判断两个字符串是否是变位词 (keep it up)
- 012温习汉诺塔 (keep it up)
- 030变态跳台阶(keep it up)
- 022给定一个字符串类型(string)表示的小数,打印出它的二进制表示(keep it up)
- 006矩阵旋转90度(keep it up)
- 013使用两个栈实现一个队列(keep it up)
- 021位操作1(keep it up)
- 024二维数组中的查找(keep it up)
- 猴子排圈求最后编号问题
- AngularJS中ng-include随屏幕宽度改变实例
- poj 3080 Blue Jeans(数据结构:KMP)
- jquery 仿微博实现内容自动向下滚动加载
- RCurl包学习
- 004字符串去重 (keep it up)
- 线索二叉树的实现 先序 中序 后序
- BufferedReader源码分析之readLine方法
- C#,Excel数据的导入、处理、导出
- Best of Sublime Text 3: Features, Plugins, and Settings
- 外观模式(Facade Pattern)小结
- Ubuntu 安装配置minicom
- 串口修改PAN ID和Channel
- Doing Homework