第一版(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并结束进程。