【算法训练】剑指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 ' '