Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode"return 0.s = "loveleetcode",return 2.
Note: You may assume the string contain only lowercase letters.
1 class Solution { 2 public: 3 int firstUniqChar(string s) { 4 int table[26] = { 0}; 5 for (char ch : s) 6 table[ch - 'a']++; 7 8 for (int i = 0; i < s.size(); i++) 9 if (table[s[i] - 'a'] == 1) return i;10 11 return -1;12 }13 };
1 class Solution { 2 public: 3 int firstUniqChar(string s) { 4 unordered_mapum; 5 for (int i = 0; i < s.size(); i++) { 6 if (!um[s[i]] && s.find(s[i], i + 1) == s.npos) return i; 7 um[s[i]] = true; 8 } 9 return -1;10 }11 };
1 class Solution { 2 public: 3 int firstUniqChar(string s) { 4 unordered_map