1. 程式人生 > >Leetcode——字串中的第一個唯一字元——python3

Leetcode——字串中的第一個唯一字元——python3

# 字串中的第一個唯一字元


class Solution(object):
    def first_uniq_char(self, s):

        # 方法一:
        # a = list(s)
        # b = []
        # for i in range(len(a)):
        #     b = a[:]  # b = a 是淺拷貝,會建立新物件,其內容是對原物件的引用,改其中一個另一個也會變。
        #               # b =a[:] 改其中一個另一個不會變。切片操作。
        #     del b[i]  # 刪除一個列表
        #     if a[i] not in b:
        #         return i
        #
        # return -1

        # 方法二:

        d = {}
        for i in range(len(s)):
            if s[i] not in d:
                d[s[i]] = i
            else:
                d[s[i]] += len(s)

        if len(s) and min(d.values()) < len(s):   # len(s) 指的是s不為空集
            return min(d.values())
        return -1