LeetCodeEasy-【面試題50. 第一個只出現一次的字符】

在字符串 s 中找出第一個只出現一次的字符。如果沒有,返回一個單空格。 s 只包含小寫字母。

示例:
s = “abaccdeff”
返回 “b”

s = “”
返回 " "

限制:
0 <= s 的長度 <= 50000

來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof
著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。

思路1:有序字典

利用有序字典統計每個字符出現的次數,然後遍歷有序字典,找到第一個爲1的即可。
在這裏插入圖片描述

class Solution:
    def firstUniqChar(self, s: str) -> str:
        import collections
        # 有序字典
        dc = collections.OrderedDict()
        for i in range(len(s)):
            if s[i] not in dc:
                dc[s[i]] = 1
            else:
                # print(s[i], dc)
                dc[s[i]] = dc[s[i]] + 1
        for k, v in dc.items():
            if v == 1:
                return k
        return ' '
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章