[华为机试练习题]15.删除重复字符/删除重复字符串

题目

题目标题:删除重复字符给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串。需要保证字符出现的先后顺序,,并且区分大小写。详细描述:接口说明原型:int GetResult(const char *input, char *output)输入参数:input输入的字符串输出参数(需考虑指针指向的内存区域是否有效):output 输出的字符串返回值:0成功-1失败及异常举例:输入: abadcbad,那么该单词中红色部分的字符在前面已经出现过。则:输出abdc,返回0。知识点:工程环境请使用VS2005题目来源: 软件训练营 维护人:d00191780 练习阶段: 初级

代码

/*—————————————* 日期:2015-06-30* 作者:SJF0115* 题目:删除重复字符/删除重复字符串* 来源:华为上机—————————————–*/#include <stdio.h>#include <string.h>/*Description给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串。需要保证字符出现的先后顺序。Prototypeint GetResult(const char *input, char *output)Input Paraminput输入的字符串Output Paramoutput 输出的字符串Return Value0成功-1失败及异常*/int GetResult(const char *input, char *output){if(input == NULL || output == NULL){return -1;}//ifint size = strlen(input);// 统计字符出现个数int hash[256] = {0};int index = 0;for(int i = 0;i < size;++i){// 判断之前是否出现过if(hash[input[i]] == 0){output[index++] = input[i];}//if++hash[input[i]];}//foroutput[index] = ‘\0’;return 0;}

旅行是一种病。一旦感染了,你就再也无法摆脱。

[华为机试练习题]15.删除重复字符/删除重复字符串

相关文章:

你感兴趣的文章:

标签云: