删除重复字符
2015-12-11 20:34
344 查看
Description
给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串。需要保证字符出现的先后顺序。
Prototype
int GetResult(const char *input, char *output)
Input Param
input 输入的字符串
Output Param
output 输出的字符串
Return Value
0 成功
-1 失败及异常
给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串。需要保证字符出现的先后顺序。
Prototype
int GetResult(const char *input, char *output)
Input Param
input 输入的字符串
Output Param
output 输出的字符串
Return Value
0 成功
-1 失败及异常
#include <stdlib.h> #include <stdio.h> #include <string.h> int main() { int GetResult(const char *, char *); //char *inCh = "abAdcbad"; char *inCh = "adcdcdcsc"; char OutCh[10] = {0}; int nRst = 0; nRst = GetResult(inCh, OutCh); return 0; } int GetResult(const char *input, char *output) { unsigned int i=0; unsigned int j=0; unsigned int cnt=0; int flag=1; unsigned int lenIn=0; unsigned int lenOut=0; //判断输入和输出有效性 if((input == NULL) || (output == NULL)) { return -1; } lenIn=strlen(input); for(i = 0; i<lenIn; i++) { flag = 1; for(j = 0; j < lenOut; j++) { if(output[j] == input[i]) flag = 0; } if(flag) { output[cnt++] = input[i]; output[cnt] = '\0'; lenOut = strlen(output); } } output[cnt] = '\0'; return 0; }
相关文章推荐
- 内网渗透学习
- Tomcat环境变量的配置
- SQL 改写 max decode 联合应用
- HTML5 总结 (1)
- tinyos学习笔记2--由"="引出的问题(Blink例程的学习)
- Mybatis 二级缓存
- 集合set
- 7_排序二叉树
- 异常处理
- hdu 4284Travel(状压dp 或 floyd+dfs)
- 判断闰年
- Partition table的switch条件1:结构相同(类型,nullability)
- UILabel的size根据文字的长短变化
- H264,aac rtmp
- 数据结构再学习-散列表(哈希表)实现
- 循环删除List集合的错误
- 欢迎使用CSDN-markdown编辑器
- bzoj3309 DZY Loves Math 数论
- 阅读分词核心代码的 几点感触
- ERP调研之 对话