【算法训练】剑指offer#50 第一个只出现一次的字符

一、描述

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

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

示例 :

s = "abaccdeff"
返回 "b"

s = "" 
返回 " 

二、思路

  • 跟上次找数字的题挺像的
		temp = "abcdefghijklmnopqrstuvwxyz"
    
        dic_temp = collections.OrderedDict()

        for i in temp:
            dic_temp[i] = 0

        for i in s:
            dic_temp[i] += 1
        
        for key,value in dic_temp.items():
            if value == 1:
                return key
        else:
            return ' '

想错了,之所以跟找数字不一样是因为数字排好序了,所以这个应该微调一下

三、解题

class Solution:
    def firstUniqChar(self, s: str) -> str:
        temp = "abcdefghijklmnopqrstuvwxyz"
    
        dic_temp = {}

        for i in temp:
            dic_temp[i] = 0

        for i in s:
            dic_temp[i] += 1
        
        for i in s:
            if dic_temp[i] == 1:
                return i
        else:
            return ' '
posted @ 2022-01-18 19:29  小拳头呀  阅读(22)  评论(0编辑  收藏  举报