第 50-1 題:字符串中第一個只出現(xiàn)一次的字符
在字符串中找出第一個只出現(xiàn)一次的字符。
如輸入
"abaccdeff",則輸出b。如果字符串中不存在只出現(xiàn)一次的字符,返回#字符。
樣例:
輸入:
"abaccdeff"輸出:
'b'
同 LeetCode 第 387 題,傳送門:字符串中的第一個唯一字符。
思路:特別容易想到的思路,就是統(tǒng)計詞頻,統(tǒng)計詞頻可以用哈希表,也可以用數(shù)組。
Python 代碼:
class Solution:
def firstNotRepeatingChar(self, s):
"""
:type s: str
:rtype: str
"""
if len(s) < 1:
return '#'
counter = [0 for _ in range(256)]
for alpha in s:
counter[ord(alpha)] += 1
for alpha in s:
if counter[ord(alpha)] == 1:
return alpha
# 要注意:如果是 "aabbcc" 這種所有的字符都出現(xiàn)不止 1 次,
# 就按照題意,返回 '#'
return '#'