题目要求:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
提示:
提示:你可以假定该字符串只包含小写字母。
解答:
思路:这里通过建立一个字典数据,在一遍遍历字符串s的同时,保存其下标索引,并且如果重复,将其字典值置位-1,最终只需查找出字典中第一个值为非-1的key即可。
class Solution:
def firstUniqChar(self, s: str) -> int:
dit = {
}
for index,i in enumerate(s):
if i not in dit:
dit.setdefault(i,index)
else:
dit[i] = -1
for i in dit:
if dit[i] != -1:
return dit[i]
return -1