这道题可以用字典解决,只需要2次遍历字符串,第一次遍历字符串,记录每个字符出现的次数,第二次返回第一个出现次数为1的字符的下标,若找不到则返回-1
class Solution(object):
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
ans = {s[i]:0 for i in range(len(s))}
for i in range(len(s)):
ans[s[i]] += 1
for i in range(len(s)):
if ans[s[i]] == 1:
return i
return -1