题目:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
这个题目主要是想考察计算字符串中每个字符出现的次数,然后逐个判断每一个字符出现的次数,遇到第一个次数为1的字符,输出其索引值。如果没有找到,就输出-1。
# -*- coding:utf-8 -*-
class Solution:
def FirstNotRepeatingChar(self, s):
# write code here
s_distinct = []
s_number = []
for i in s:
if i in s_distinct:
s_number[s_distinct.index(i)] += 1
elif i not in s_distinct:
s_distinct.append(i)
s_number.append(1)
for i in range(len(s)):
if s_number[s_distinct.index(s[i])] == 1:
return i
return -1