题目:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
提示:你可以假定该字符串只包含小写字母。
举例:
s = “leetcode”
返回 0
s = “loveleetcode”
返回 2
题干解析:
注意:第一个不重复的字符,故原字符串不可打乱顺序
遍历字符串 ,将i位置字符与剩余字符做对比,剩余字符为s[:i]+s[i+1:],即 s=[leetcode]
将num=l 与s’=[eetcode]做对比
我的方法
class Solution:
def firstUniqChar(self, s: str) -> int:
if len(s) == 0: #判断字符串是否为空
return -1
l = len(s)
for i in range(l): #遍历字符串
if i != l-1:
temp = s[:i]+s[i+1:] #将该位置字符删掉与剩余做对比 注意索引i+1应不超过范围
if s[i] in temp:
i += 1
else:
return i
else:
temp = s[:i]
if s[i] in temp:
return -1
else:
return i