使用一个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")