美文网首页
LeetCode-python 387.字符串中的第一个唯一字符

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

作者: wzNote | 来源:发表于2019-10-15 11:09 被阅读0次

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


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

          本文链接:https://www.haomeiwen.com/subject/zfnjmctx.html