题目描述:
解题思路:
逐个遍历字符串中的每个字符。用字典记录在字符串中每个字符的出现次数。最后遍历字符串中每个字符,字典中该字符作为key对应的value值为1,return首个value值为1的字符对应的下标索引。遍历完一次字符串了,还没有对应字符出现次数为1的字符,那么return -1。
代码:
class Solution:
def firstUniqChar(self, s: str) -> int:
d = {'a':0,
'b':0,
'c':0,
'd':0,
'e':0,
'f':0,
'g':0,
'h':0,
'i':0,
'j':0,
'k':0,
'l':0,
'm':0,
'n':0,
'o':0,
'p':0,
'q':0,
'r':0,
's':0,
't':0,
'u':0,
'v':0,
'w':0,
'x':0,
'y':0,
'z':0
}
# 统计字符串中每个字符出现次数
i = 0
while(i < len(s)):
d[s[i]] += 1
i += 1
j = 0
while(j < len(s)):
# 返回出现次数为1的字符的首个位置索引
if d[s[j]] == 1:
return j
j += 1
# 字符串中没有只出现一次的字符,返回-1
if j == len(s):
return -1