这里采用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