题目描述
在字符串中找出第一个只出现一次的字符。
如输入”abaccdeff”,则输出b。
如果字符串中不存在只出现一次的字符,返回#字符。
样例
输入:"abaccdeff"
输出:'b'
算法1
(哈希表) $O(n)$
第一次遍历字符串创建哈希表存储每个字符出现的次数
第二次遍历字符串找到第一个value为1的字符
时间复杂度
时间复杂度$O(n)$,空间复杂度$O(n)$
python 代码
class Solution:
def firstNotRepeatingChar(self, s):
"""
:type s: str
:rtype: str
"""
if not s: return '#'
map = {}
for x in s:
map[x] = map.get(x, 0) + 1
for i in range(len(s)):
if map[s[i]] == 1:
return s[i]
return '#'
用count更方便(狗头)
class Solution:
def firstNotRepeatingChar(self, s):
“”“
:type s: str
:rtype: str
“”“
for i in range(0,len(s)):
if s.count(s[i])==1:
return(s[i])
return “#”
%%%