查找字符串中第一个出现三次的字符
题目描述:在一个字符串中找到第一个只出现一次的字符。如输入“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;
}
【查找字符串中第一个出现三次的字符】
文章图片
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理