方法一:
1. 统计字符串中各个字符的个数:使用字典统计
2.遍历字符串,判断字符串中字符在字典中的个数,第一个出现个数为1的字符为寻找的字符,返回该字符的索引
class Solution:
def firstUniqChar(self, s: str) -> int:
#使用字典统计字符串s中各个字母的个数
my_dict = {}
for i in s:
my_dict[i] = 0
for j in s:
my_dict[j] += 1
#遍历字符串s,判断第一个只有一个的字符
for k in my_dict:
if my_dict[k] == 1:
return s.index(k)
return -1
方法二:
1.统计字符串中各个字符的个数:使用列表统计
2.遍历字符串,判断字符串中字符在列表中的个数,第一个出现个数为1的字符为寻找的字符,返回该字符的索引
class Solution:
def firstUniqChar(self, s: str) -> int:
my_list = [0] * 26
for i in s:
my_list[ord(i) - ord('a')] += 1
for j in s:
if my_list[ord(j) - ord('a')] == 1:
return s.index(j)
return -1
方法三:
1. 统计字符串中各个字符的个数:使用字典统计
2.遍历字符串,判断字符串中字符在字典中的个数,第一个出现个数为1的字符为寻找的字符,返回该字符的索引(此处使用了enumerate()同时获取字符和字符的索引)
class Solution:
def firstUniqChar(self, s: str) -> int:
my_dict = collections.Counter(s) #字典
for i,each in enumerate(s):
if my_list[each] == 1:
return i
return -1