找到第一个只出现一次的字符
来源:互联网 发布:房源中介那个软件好 编辑:程序博客网 时间:2024/06/06 02:02
题目:
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
分析:
这道题是2006年google的一道笔试题。
ASCII码共有128个,所以可以建一个包含128个元素的数组,初始化为0。扫描字符串,出现某字符,就自增该字符
对应的ASCII值为下标的元素值!
代码如下:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int count[128]; //count数组存储每个字符出现的次数
- void CountTimes(char *str); //计算str数组中每个字符出现的次数
- int main()
- {
- char str[100]; //存储字符串
- while (printf("Please input a string : "),fgets(str,sizeof(str),stdin)!=NULL)
- {
- CountTimes(str);
- }
- return 0;
- }
- void CountTimes(char *str)
- {
- int len,i;
- len=strlen(str)-1; //fgets读入的字符串末尾会多一个换行符,ASCII值为10,故减一
- memset(count,0,sizeof(count));
- for (i=0;i<len;i++)
- {
- count[str[i]]++;
- }
- //下面做法是错误的,感谢tongjianfeng
- //for (i=0;i<128&&count[i]!=1;i++);//寻找第一个出现一次元素的下标
- //printf("The character which appears only once is : %c\n\n",i);
- //修改如下:
- for (i=0;i<len;i++)
- {
- if (count[str[i]]==1)
- {
- printf("The character which appears only once is : %c\n\n",str[i]);
- return ;
- }
- }
- }
0 0
- 找到第一个只出现一次的字符的位置
- 找到第一个只出现一次的字符
- 找到第一个只出现一次的字符
- 找到第一个只出现一次的字符
- 找到第一个只出现一次的字符
- 找到第一个只出现一次的字符 python
- 【算法】找到只出现一次的第一个字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- Python win32com 操作Excel简单方法
- 约瑟夫问题
- 暗网简介
- Qt 学习计划
- 19608 bytes of CODE memory 5 962 bytes of DATA memory (+ 115 absolute ) 685 bytes of CONST memory
- 找到第一个只出现一次的字符
- cocostudio内存释放
- 浅谈HTTP中Get与Post的区别
- LeetCode3.1 @ Valid Palindrome 检验回文串 D2F5
- java中重载与重写的区别
- 反向代理与正向代理
- 数据库的规范
- 应用层至驱动层的调用情况
- 快速Android开发系列网络篇之Android-Async-Http