题目
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode" 返回 0. s = "loveleetcode", 返回 2.
注意事项:您可以假定该字符串只包含小写字母
代码
class Solution(object):
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
index_map = {}
index = 0
for c in list(s):
if c in index_map:
index_map[c].append(index)
else:
index_map[c] = [index]
index += 1
uni_ids = []
for k, v in index_map.items():
if len(v) == 1:
uni_ids.append(v[0])
if uni_ids:
return min(uni_ids)
else:
return -1