#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Solution {
public:
int firstUniqChar(string s) {
vector<int> v(26, 0);
for (int i = 0; i < s.size(); i++) {
// v[s[i] - 'a'] = v[s[i] - 'a'] + 1;
++v[s[i] - 'a'];
}
for (int i = 0; i < s.size(); i++) {
if (v[s[i] - 'a']==1)
return i;
}
return -1;
}
};
int main (){
string s = "leetcode";
Solution ss;
cout<< ss.firstUniqChar(s) <<endl;
return 0;
}
#include <iostream>
#include <string>
#include <unordered_map>
using namespace std;
class Solution {
public:
int firstUniqChar(string s) {
unordered_map<char, int> mp;
for (int i = 0; i < s.size(); i++) {
++mp[s[i]];
}
for (int i = 0; i < s.size(); i++) {
if (mp[s[i]] ==1)
return i;
}
return -1;
}
};
int main (){
string s = "Meetcode";
Solution ss;
cout<< ss.firstUniqChar(s) <<endl;
return 0;
}