核心思路是先set函数去重,再转为list。
但是set本身会排序,会打乱原来的顺序。因此多了一个寻找索引的步骤。不然直接[0]就解决了。

def FirstNotRepeatingChar(self, s):
        if len(s)<=0:
            return -1
        list1 = list(set(s))
        indexList = []
        listNew = []
        for i in list1:
            if s.count(i) == 1:
                listNew.append(i)
        for j in listNew:
            indexList.append(s.index(j))
        return min(indexList)