mycode  24.42%

class Solution:
    def firstUniqChar(self, s: str) -> int:
        dic = {}
        for i in range(len(s)):
            dic[s[i]] = dic.get(s[i],0) + 1 
        for i,val in dic.items():
            if val == 1:
                return s.index(i)
        return -1

 

参考

class Solution:
    def firstUniqChar(self, s: str) -> int:
        # # two-pass
        # ctr = collections.Counter(s)
        # for i,v in enumerate(s):
        #     if ctr[v] == 1:
        #         return i
        # return -1
        
        letters='abcdefghijklmnopqrstuvwxyz'
        index=[s.index(l) for l in letters if s.count(l) == 1]
        return min(index) if len(index) > 0 else -1