leedcode-字串中的第一個唯一字元

Junior_bond發表於2024-04-16

自己寫的,easy

class Solution:
    def firstUniqChar(self, s: str) -> int:
        mydict = {}  # 建立一個空字典來儲存每個字元的出現次數
        for i in s:  # 遍歷給定的字串 s
            if not mydict.get(i):  # 如果當前字元不在字典中
                mydict[i] = 1  # 將其加入字典,並設定出現次數為 1
            else:
                mydict[i] += 1  # 如果字元已經在字典中,增加其出現次數

        res = 0  # 初始化結果變數為 0
        for j in mydict:  # 遍歷字典中的鍵(即字串 s 中的字元)
            if mydict.get(j) == 1:  # 如果字元的出現次數為 1
                res = j  # 將結果變數設定為該字元
                break  # 找到第一個出現次數為 1 的字元後跳出迴圈

        if res == 0:  # 如果結果變數仍為 0,說明字串中沒有出現次數為 1 的字元
            return -1  # 返回 -1 表示未找到
        elif res != 0:  # 如果結果變數不為 0,說明找到了出現次數為 1 的字元
            return s.index(res)  # 返回該字元在字串 s 中的索引位置

相關文章