描述
给出一个字符串。找到字符串中第一个不重复的字符然后返回它的下标。如果不存在这样的字符,返回 -1
。
您在真实的面试中是否遇到过这个题?
是
样例
给出字符串 s = "lintcode"
,返回 0
。
给出字符串 s = "lovelintcode"
,返回 2
。
两次循环,第一次存储,第二次查找。
class Solution {
public:
/**
* @param s: a string
* @return: it's index
*/
int firstUniqChar(string &s) {
// write your code here
unordered_map<char,int> m_map;
for(int i=0;i<s.length();i++){
m_map[s[i]]++;
}
for(int i=0;i<s.length();i++){
if(m_map[s[i]]==1) return i;
}
return -1;
}
};