核心思路是先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)