class Solution {
public:
int FirstNotRepeatingChar(string str) {
map<char,int> m;
int num[256];
int pos[256];
int k = 0;
for(int i = 0; i < 256; i++)
pos[i] = -1;
for(int i = 0; i < str.length(); i++){
if(m[str[i]] != NULL)
m[str[i]]++;
else{
pos[str[i]+128] = i;
m[str[i]] = 1;
num[k++] = str[i];
}
}
for(int i = 0; i < k; i++){
if(m[num[i]] == 1)
return pos[num[i]+128];
}
return -1;
}
};