char firstUniqChar(string s) {
vector<char> keys;
unordered_map<char, int> ump;
int n = s.size();
for (auto x : s){
if (!ump.count(x)) keys.push_back(x);
ump[x]++;
}
for (auto x : keys) {
if(ump[x] == 1)
return x;
}
return ' ';
}