在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。
示例:
s = “abaccdeff”——返回 “b”
s = “” ——返回 " "
s = “cc”——返回“ ”
思路
建立普通的字典,也是遍历一边字符串s,将这些字符和他们的出现次数放入到字典中
再次遍历s,在字典中进行查找,找到第一个值为1的字符即可,否则返回" "
时间复杂度O(n),空间复杂度O(1),因为字符的个数是常数个
dic.get(char, 0) 返回字典dic中char元素对应的值,若无,则进行初始化
class Solution:
def firstUniqChar(self, s: str) -> str:
dic = {}
for char in s:
# dic.get(char, 0) 返回字典dic中char元素对应的值,若无,则进行初始化
dic[char]=dic.get(char, 0)+1
for char in s:
if dic[char] == 1:
return char
return " "