跳转至

387. 字符串中的第一个唯一字符

难度:简单

题目

给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回-1

示例:

s = "leetcode"
返回 0

s = "loveleetcode"
返回 2

提示: 你可以假定该字符串只包含小写字母。

Reference

题解

基本思路: 使用一个数组存储字符串中各字符的出现次数。遍历字符串进行统计。

代码如下:

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;
}

评论