数据结构——算法之(007)(在一个字符串中找到第一个只出现一次的字符)
2014-05-22 11:22
204 查看
【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
题目分析:
一、没有复杂度的要求
二、先顺序遍历字符串,再把每次遍历的得到的字符,在整个字符串中查找(注意:查找时要过滤掉当前字符的索引)
算法实现:
题目:在一个字符串中找到第一个只出现一次的字符。如输入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; }
相关文章推荐
- 算法与数据结构面试题(21)-在一个字符串中找到第一个只出现一次的字符
- 算法---在一个字符串中找到第一个只出现一次的字符
- 每日一道算法题:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 算法学习七----在一个字符串中找到第一个只出现一次的字符
- 每天学习一算法系列(17)(在一个字符串中找到第一个只出现一次的字符)
- 微软算法100道题-----:在一个字符串中找到第一个只出现一次的字符
- 算法习题17:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 算法十二:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中找到第一个只出现一次的字符
- 17、在一个字符串中找到第一个只出现一次的字符
- 利用hashtable思想,保存在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符(java实现)
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b;
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 17.在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- No17、题目:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。
- 在一个字符串中找到第一个只出现一次的字符