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

题目:

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

思路:

想法一:

遇到计数问题,首先想到的是利用map容器,关键字代表索引,值对代表出现次数,通过只出现一次的字符从前往后第一个就是不重复的字符;

class Solution {
public:
    int firstUniqChar(string s) {
        unordered_map<char, int> frequency;
        for (char ch: s) {
            ++frequency[ch];
        }
        for (int i = 0; i < s.size(); ++i) {
            if (frequency[s[i]] == 1) {
                return i;
            }
        }
        return -1;
    }
};


与官方题解基本一致,引用官方代码,修改了一处我觉得有问题的小地方,map改为<char,int>

原文链接: https://www.cnblogs.com/isku-ran/p/17117159.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/317786

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 下午2:51
下一篇 2023年2月16日 下午2:51

相关推荐