387. 字符串中的第一个唯一字符¶
难度:简单
题目¶
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1
。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
提示: 你可以假定该字符串只包含小写字母。
题解¶
基本思路: 使用一个数组存储字符串中各字符的出现次数。遍历字符串进行统计。
代码如下:
int firstUniqChar(char * s){
int hashMap[26] = {0};
char *cur = s;
while(*cur)
{
hashMap[*cur - 'a']++;
cur++;
}
cur = s;
while(*cur)
{
if (hashMap[*cur - 'a'] == 1)
return (int)(cur - s);
cur++;
}
return -1;
}