第一版(AC)
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 我们用一个数组来记录每个小写字母出现的次数
// 在符合条件的字母里我们从头找第一个符合要求的
string s;
cin >> s;
vector<int> count(26, 0);
for (char c : s) {
count[c - 'a']++;
}
for(char c : s){
if (count[c - 'a'] == 1) {
cout << c;
return 0;
}
}
cout << -1;
return 0;
}
// 64 位输出请用 printf("%lld")
- 之前有一道题就是类似的思路,用一个数组去统计每个字母出现的次数,然后根据这个来解题。
- 怎么样让遇到的第一个符合要求的字母直接输出?那就从头开始遍历,一旦符合要求就输出并结束进程,否则一直循环,直到跳出循环,自然输出-1并结束进程。

京公网安备 11010502036488号