使用一个unordered_map统计字符串中每个字符出现的个数,然后遍历这个字符串,如果某字符出现的个数为1,则输出这个字符,如果没有符合条件的字符,则输出-1。

#include <iostream>
#include <unordered_map>
using namespace std;

int main() {
    unordered_map<char, int> nums;
    string s;
    cin >> s;
    bool flag = false;
    char ans;
    for (char letter : s) {
        if (nums.find(letter) == nums.end()) {
            nums.insert({letter, 1});
        } else {
            nums[letter]++;
        }
    }
    for (char letter : s) {
        if (nums[letter] == 1) {
            cout << letter;
            return 0;
        }
    }
    cout << -1;
    return 0;
}
// 64 位输出请用 printf("%lld")