第一版(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. 之前有一道题就是类似的思路,用一个数组去统计每个字母出现的次数,然后根据这个来解题。
  2. 怎么样让遇到的第一个符合要求的字母直接输出?那就从头开始遍历,一旦符合要求就输出并结束进程,否则一直循环,直到跳出循环,自然输出-1并结束进程。