首页 > 其他 > 详细

第一个只出现一次的字符

时间:2015-08-27 00:05:32      阅读:330      评论:0      收藏:0      [点我收藏+]

题目描述

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

分析与解法

这个问题比较容易解决,对于ASCII字符,可以构造一个大小为256的数组,用来记录每个字符出现的次数。第一遍遍历字符串,统计每个字符出现的次数。第二次遍历字符串,找到第一个出现一次的字符。代码如下:

 1 char FirstNotRepeatingChar(char *str){
 2     if (str == nullptr)
 3         return 0;
 4     int count[256] = { 0 };
 5     for (int i = 0; str[i] != \0;++i){
 6         int index = static_cast<int>(str[i]);
 7         count[index]++;
 8     }
 9     for (int i = 0; str[i] != \0; ++i){
10         int index = static_cast<int>(str[i]);
11         if (count[index] == 1)
12             return str[i];
13     }
14     return 0;
15 }

 

第一个只出现一次的字符

原文:http://www.cnblogs.com/codinglol/p/4761873.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!