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



京公网安备 11010502036488号