字符串中的第一个唯一字符(C++)

214 阅读1分钟

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

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

示例 1:

输入: s = "leetcode"
输出: 0

示例 2:

输入: s = "loveleetcode"
输出: 2

示例 3:

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

提示:

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

我的代码:

class Solution {
public:
// 就单纯的靠一靠 map的使用
    int firstUniqChar(string s) {
        unordered_map<int, int> mp;
        for (char ch:s)
        {
            mp[ch] ++;
        }
        for (int i = 0; i < s.size(); ++ i)
        {
            if (mp[s[i]] == 1) return i;
        }
        return -1;
    }
};

对应我的csdn文章:(2条消息) 字符串中的第一个唯一字符(C++)_极客李华的博客-CSDN博客