代码解析:
使用了哈希表 unordered_map 来统计每个字符的出现次数。
首先,定义了一个函数 findFirstUniqueChar,它的输入参数是一个字符串 s,表示要查找的字符串。函数返回第一个仅出现一次的字符。
在函数内部,创建了一个哈希表 count,用于存储每个字符的出现次数。然后,使用一个循环遍历字符串 s 中的每个字符,并在哈希表 count 中增加对应字符的计数。
接下来,再次遍历字符串 s 中的每个字符,对于每个字符,检查其在哈希表 count 中的计数。如果计数为1,则说明该字符是第一个仅出现一次的字符,立即返回该字符。
如果没有找到仅出现一次的字符,那么最后返回一个特定的标记字符 'no',表示没有出现次数只有一次的字符。
在 main 函数中,我们首先读入输入的字符串 s。
然后,我们调用 findFirstUniqueChar 函数来查找第一个仅出现一次的字符,并将结果存储在变量 result 中。
最后,我们输出结果字符 result。
参考代码:
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
char findFirstUniqueChar(const string& s) {
unordered_map<char, int> count;
// 统计每个字符的出现次数
for (char ch : s) {
count[ch]++;
}
// 找到第一个仅出现一次的字符
for (char ch : s) {
if (count[ch] == 1) {
return ch;
}
}
return 'no';
}
int main() {
string s;
cin >> s;
char result = findFirstUniqueChar(s);
cout << result << endl;
return 0;
}
0.0分
5 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复