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

作者: freesan44 | 来源:发表于2020-06-06 21:31 被阅读0次

    题目

    给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。

    示例:
    
    s = "leetcode"
    返回 0
    
    s = "loveleetcode"
    返回 2
    

    提示:你可以假定该字符串只包含小写字母。

    解题思路

    class Solution:
        def firstUniqChar(self, s: str) -> int:
            # #通过内置函数in来实现
            # sList = list(s)
            # if len(s) == 1:return 0#处理1个字符串的异常情况
            # for i in range(len(s)):
            #     if (sList[i] not in sList[i+1:]) and (sList[i] not in sList[:i]):
            #         return i
            # return -1
            # #字典实现
            # wordsList = [chr(i) for i in range(97, 97+26)]
            # valueList = [0]*26
            # wordsDic = dict(zip(wordsList, valueList))
            # sList = list(s)
            # if len(s) == 1: return 0  # 处理1个字符串的异常情况
            # for i in range(len(s)):
            #     wordsDic[sList[i]] += 1
            # for i in range(len(s)):
            #     if wordsDic[sList[i]] == 1:
            #         return i
            # return -1
            #取巧方法,左右遍历如果找到的索引是相同,代表只有一个字母
            for i in s:
                if s.find(i) == s.rfind(i):
                    return s.find(i)
            return -1
    

    相关文章

      网友评论

        本文标题:LeetCode 387. 字符串中的第一个唯一字符

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