字符的数字范围是0~128,因此创建一个128大小的数组来记录每一个字符出现的次数就ok了,其实不难的。
#include <bits/stdc++.h>
using namespace std;
//大小写字母之间数字差32
// A-Z 65~90
// a-z 97~122
// '0'~'9' 48-57
void findfirstChar(string s) {
int strnum[128] = {0};
int size = s.size();
char goal;
for(int i = 0; i < size; i++) {
strnum[s[i]]++;
}
for(int i = 0; i < size; i++) {
if(strnum[s[i]] == 1) {
goal = s[i];
break;
}
}
if(goal != NULL) {
cout << goal <<endl;
}
else {
cout << -1 <<endl;
}
}
int main() {
string s;
getline(cin, s);
findfirstChar(s);
return 0;
}