可以建立字典存字符,用bool型的话空间复杂度会优化,遍历字典在时间复杂度上也会比遍历列表或者字符串更好
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param str string字符串
# @return int整型
#
class Solution:
def FirstNotRepeatingChar(self , str: str) -> int:
dic = {}
a = list(str)
for i in str:
if i in dic:
dic[i] = False
else:
dic[i] = True
for key, value in dic.items():
if value:
return a.index(key)
return -1
# write code here