LeetCode-python 387.字符串中的第一个唯一字符

题目链接
难度:简单       类型:字符串


给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -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

本文链接:https://www.jianshu.com/p/c931229670a6

你可能感兴趣的:(LeetCode-python 387.字符串中的第一个唯一字符)