LC: 剑指 Offer 50. 第一个只出现一次的字符

LC: 剑指 Offer 50. 第一个只出现一次的字符,第1张

题目:

第一个只出现一次的字符

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

题目链接:剑指 Offer 50. 第一个只出现一次的字符

示例:

输入:s = “abaccdeff”
输出:‘b’

输入:s = “”
输出:’ ’

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

思路:

借助python中的字典数据格式,遍历字符串,若当前字符未出现在表中,则将该字符赋予真值置于表中,否则将值改为假。之后,遍历该表,返回第一个值为真的字符。

代码:
class Solution:
    def firstUniqChar(self, s: str) -> str:
        Hash_dict = {}
        for char in s:
            if char not in Hash_dict:
                Hash_dict[char] = True
            else:
                Hash_dict[char] = False
        for key, value in Hash_dict.items():
            if value:
                return key
        return ' '

时间复杂度O(n),空间复杂度O(n).

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/732941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存