博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1 查找字符串中第一个只出现一次的字符
阅读量:7019 次
发布时间:2019-06-28

本文共 861 字,大约阅读时间需要 2 分钟。

hot3.png

/*
* 找出一个字符串中第一个只出现一次的字符。
思路:
 假设字符是ASCII字符,占一个字节,则最多为256个字符,用一个标记数组book[256]来记录每个字符出现的次数,最后遍历这个标记数组,找到第一个元素值为1的数据的下标值,这个下标就是要找的字符。
*/
 

#include
char firstOne(char* p);int main(){/* int book[256] = {0};//用来标记每个字符出现的次数,因为一个ASCII字符占一字节 char c = '\0';//用来记录从输入读取的一个字符 while(scanf("%c",&c)==1)//循环读取输入的字符串 { int i = (int)c; book[i]++; } for(int i = 0;i<256;i++) { if(book[i]==1) { printf("%c",(char)i); break; } }*/ char* str = "abaccdeff"; printf("%c",firstOne(str)); return 0;}char firstOne(char* str){ int book[256] = {0};//用来标记每个字符出现的次数,因为一个ASCII字符占一字节 while((*str)!='\0')//循环读取输入的字符串 { int i = (int)(*str);//将字符强转为int下标 book[i]++;//出现一次就递增一次 str++; } //遍历数组中第一个值为1的下标值即就是第一个只出现一次的字符 for(int i = 0;i<256;i++) { if(book[i]==1) { return (char)i;//强转回char字符 } } return '\0';//没找到则返回'\0'}

 

转载于:https://my.oschina.net/u/2008595/blog/757156

你可能感兴趣的文章
MRTG FOR WINDOWS 安装指南
查看>>
我的友情链接
查看>>
windows process activation service不能安装或启动的解决办法
查看>>
关于iPhone 中sqlite文件的使用
查看>>
↑httpd服务配置↑
查看>>
黑马程序员----c#面向过程基础
查看>>
Perl 内置变量
查看>>
c++智能指针《二》 std::tr1::shared_ptr
查看>>
深入剖析Linux磁盘管理
查看>>
3、javascript学习总结之Javascript的dom是什么
查看>>
salt 安装zabbix agent
查看>>
我的友情链接
查看>>
android 不同分辨率适配
查看>>
我的友情链接
查看>>
Log4j.properties详细配置+实例
查看>>
Kindle Fire平板电脑为什么是7英寸?
查看>>
CCNA Security 第五天
查看>>
1029.在线视频—开源网管Cacti系列讲座(四)多种数据采集方式
查看>>
如何设置主机的ssh的端口号
查看>>
DDOS防御总结
查看>>