初级算法:字符串中的第一个唯一字符 ----- 计数器与下标的使用

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

 

示例 1:

输入: s = "leetcode"
输出: 0
示例 2:

输入: s = "loveleetcode"
输出: 2
示例 3:

输入: s = "aabb"
输出: -1
 

提示:

1 <= s.length <= 105
s 只包含小写字母

作者:力扣 (LeetCode)
链接:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xn5z8r/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

class Solution {
public:
    int firstUniqChar(string s) {
        int count[26]={0};
        int index[26];

        for(int i=0;i<s.size();i++){
            count[s[i]-'a']++;
            index[s[i]-'a']=i;
        }
        for(int i=0;i<s.size();i++){
            if(count[s[i]-'a']==1){
                return index[s[i]-'a'];
            }
        }
        return -1;
    }
};

 

posted @ 2022-10-25 15:45  slowlydance2me  阅读(24)  评论(0编辑  收藏  举报