第一个只出现一次的字符
第一个只出现一次的字符
在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
示例 1:
输入:s = “abaccdeff”
输出:‘b’
思路
利用 哈希表 ,Python使用字典 key-value
遍历两次
- 第一次遍历,填充字典,默认value填充False,key是字符,遍历时发现有重复字符则将其value改为True
- 第二次遍历,查找只出现一次的字符,即查找第一个value为False的字符
def firstUniqChar(self, s):
# 字典 key-value
dic = {}
# 首次遍历,填充字典
# it in dic 返回布尔值,in返回True,否则False
# 所以没重复字符前都是False,遇到重复就变为True
for it in s:
dic[it] = it in dic
# 第二次遍历,查找只出现一次字符
for it in s:
# False是字符无重复
if dic[it] == False:
return it
return " "
"""
:type s: str
:rtype: str
"""