码迷,mamicode.com
首页 > 其他好文 > 详细

第一个只出现一次的字符

时间:2015-08-27 00:07:00      阅读:169      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!