主页 > 其他  > 

LeetCode刷题---哈希表---387

LeetCode刷题---哈希表---387
字符串中的第一个唯一字符

387. 字符串中的第一个唯一字符 - 力扣(LeetCode)

题目:

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

示例 1:

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

示例 2:

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

示例 3:

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

提示:

1 <= s.length <= 105s 只包含小写字母 自己的思路和代码: 思路:

        我们可以对字符串进行两次遍历。

        在第一次遍历时,我们使用哈希映射统计出字符串中每个字符出现的次数。在第二次遍历时,我们只要遍历到了一个只出现一次的字符,那么就返回它的索引,否则在遍历结束后返回 −1。

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

标签:

LeetCode刷题---哈希表---387由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“LeetCode刷题---哈希表---387