这里采用map字典的方式其实是最方便的,但由于map是无序的,所以还需要将map中只出现一次的字符找出在原字符串的index
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param str string字符串
# @return int整型
#
class Solution:
def FirstNotRepeatingChar(self , str: str) -> int:
# write code here
mp = {}
for i in range(len(str)):
s = str[i]
if mp.get(s):
num = mp[s]
mp[s] = num + 1
else:
mp[s] = 1
index = -1
for k in mp.keys():
ki = str.index(k)
if mp[k] == 1 and index == -1:
index = ki
elif mp[k] == 1 and ki < index:
index = ki
return index



京公网安备 11010502036488号