题目链接
难度:简单 类型:字符串
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
解题思路
遍历字符串,用一个集合re保存遍历过的字符,Set的查询操作比List快
如果一个字符既不在re中,也不在后半部分字符串中,那它就是唯一字符,在第一个唯一字符处返回即可
代码实现
class Solution(object):
def firstUniqChar(self, s):
"""
:type s: str
:rtype: int
"""
if len(s)==1:
return 0
re = set()
for i in range(len(s)):
if s[i] not in re:
if s[i] in s[i+1:]:
re.add(s[i])
else:
return i
return -1
网友评论