查找字符串中第一个出现三次的字符

题目描述:在一个字符串中找到第一个只出现一次的字符。如输入“abaccdeff”,则输出“b”,假设字符集为ASCII。
思路:由于ASCII字符是一个长度为8的数据类型,总共有256种可能。先遍历一遍字符串,将每个字母对应的ASCII值作为字符串计数数组的下标,统计每个字符出现的次数。再遍历一遍字符串将第一个计数为3的字符输出。

#include #include using namespace std; int main() { string str; //根据字母的ASCII码值来作为数组的下标 int a[256] = { 0 }; getline(cin, str); int len = str.length(); for (int i = 0; i < len; i++) { if (++a[str[i]] == 3) { if (str[i] >= 'a' && str[i] <= 'z' || str[i] >= 'A' && str[i] <= 'Z') { cout << str[i] << endl; break; } } } return 0; }

【查找字符串中第一个出现三次的字符】查找字符串中第一个出现三次的字符
文章图片

    推荐阅读