给出一个字符串。找到字符串中第一个不重复的字符然后返回它的下标。如果不存在这样的字符,返回 -1
。
样例
给出字符串 s = "lintcode"
,返回 0
。
给出字符串 s = "lovelintcode"
,返回 2
。
解题思路:
将字符装进哈希表中,key值存入字符,value存入出现次数。然后再依次遍历,返回次数为1的字符。
class Solution {
public:
/**
* @param s: a string
* @return: it's index
*/
int firstUniqChar(string &s)
{
// write your code here
unordered_map<char,int> m;
for(char i : s)
++m[i];
for(int i=0;i<s.size();i++)
{
if(m[s[i]]==1)
return i;
}
return -1;
}
};