数据结构——算法之(007)(在一个字符串中找到第一个只出现一次的字符)

来源:互联网 发布:爱淘网和淘宝网区别 编辑:程序博客网 时间:2024/05/07 03:33

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】

题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。

题目分析:

一、没有复杂度的要求

二、先顺序遍历字符串,再把每次遍历的得到的字符,在整个字符串中查找(注意:查找时要过滤掉当前字符的索引)

算法实现:

#include <stdio.h>#include <string.h>/*** 在@str中查找@c,会过滤掉@num所在的字符*/char *str_chr(const char *str, char c, int num){int len = strlen(str);char *re = str;int i=0; for(; i<len; i++){if(i == num){re++;continue;}if(*re == c)return re;re++;}return NULL;}char find_once_char_in_str(const char *str){int i=0;int len = strlen(str);for(; i<len; ++i){if(str_chr(str, str[i], i) == NULL)return str[i];}return 0;}int main(){char *str = "aabadccdebff7e";printf("---> %c\n", find_once_char_in_str(str));return 0;}


0 0
原创粉丝点击