387.字符串中的第一个唯一字符
【LetMeFly】387.字符串中的第一个唯一字符
力扣题目链接:https://leetcode.cn/problems/first-unique-character-in-a-string/
给定一个字符串 s
,找到 它的第一个不重复的字符,并返回它的索引 。如果不存在,则返回 -1
。
示例 1:
输入: s = "leetcode" 输出: 0
示例 2:
输入: s = "loveleetcode" 输出: 2
示例 3:
输入: s = "aabb" 输出: -1
提示:
1 <= s.length <= 105
s
只包含小写字母
方法一:计数
首先遍历一遍字符串,然后把每个字母的出现次数计算出来。
之后再遍历一遍字符串。遍历过程中,如果遇到了一个值出现过一次的字母,就返回这个字母的下标。
否则(第二次遍历完也没有发现只出现了一次的字母)就返回-1
。
- 时间复杂度$O(n)$,其中$n$是字符串长度
- 空间复杂度$O(C)$,其中$C$是字符集大小。本题中字符集为26个小写英文字母,$C=26$
AC代码
C++
1 |
|
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/127262237
387.字符串中的第一个唯一字符
https://blog.letmefly.xyz/2022/10/11/LeetCode 0387.字符串中的第一个唯一字符/