📅  最后修改于: 2023-12-03 15:41:49.921000             🧑  作者: Mango
在一个字符串中找到第一个只出现一次的字符。
可以使用哈希表或字典来记录每个字符出现的次数,然后遍历一遍字符串,找到出现次数为一的字符即可。
也可以使用 Python 内置的 Counter 类来统计每个字符的次数,返回字符出现次数为一的第一个字符。
from collections import Counter
def first_unique_char(s: str) -> str:
counts = Counter(s)
for ch in s:
if counts[ch] == 1:
return ch
return ''
# 示例
s1 = 'leetcode'
s2 = 'loveleetcode'
print(first_unique_char(s1)) # 输出 'l'
print(first_unique_char(s2)) # 输出 'v'
时间复杂度:$O(n)$,其中 $n$ 是字符串的长度。
空间复杂度:$O(|\Sigma|)$,其中 $\Sigma$ 是字符串的字符集,存储最多 $|\Sigma|$ 个字符的出现次数。