给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode" 返回 0. s = "loveleetcode", 返回 2.
注意事项:您可以假定该字符串只包含小写字母。
思路:查找类的题目,可以为26个字母建立个hashtable,统计每个字母出现的次数,然后返回第一个为1的索引。
class Solution {
public:
int firstUniqChar(string s) {
vector<int> hasht(26,0);
for(char c:s){
hasht[c - 'a']++;
}
for(int i = 0;i<s.size();i++){
if(hasht[s[i]- 'a'] == 1)
return i;
}
return -1;
}
};