每日一道leetcode387. 字符串中的第一个唯一字符
2021.07.17
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/first-unique-character-in-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
很简单的题,无非就是对字符串的字母进行频率统计,找到出现频率为1 的字母索引。
借助哈希映射两次遍历完成。第一次遍历进行字母频率统计,Hash Map 的Key 为字母,Value 为出现频率。第二次遍历找到频率为 1 的字母索引返回即可。
描述
count() 方法用于统计某个元素在列表中出现的次数。
语法
count()方法语法:
list.count(obj)
from collections import Counter
c = Counter('sadasfas')
print(c)
a=['su','bu','sum','bu','sum','bu']
c = Counter(a)
print(c)
c.update('sadasfas') #添加
print(c)
输出结果:
Counter({'s': 3, 'a': 3, 'd': 1, 'f': 1})
Counter({'bu': 3, 'sum': 2, 'su': 1})
Counter({'bu': 3, 's': 3, 'a': 3, 'sum': 2, 'su': 1, 'd': 1, 'f': 1})
class Solution:
def firstUniqChar(self, s: str) -> int:
count = collections.Counter(s)
index = 0
for i in s:
if count[i] == 1:
return index
else:
index += 1
return -1