📅  最后修改于: 2023-12-03 15:07:33.292000             🧑  作者: Mango
这个问题是关于字符串操作的问题。代码应该能够接受一个字符串,并返回第一个不重复的字符。如果找不到这样的字符,则返回 -1。
对于这个问题,我们可以使用哈希表来解决。我们遍历一遍字符串并使用哈希表来存储每个字符出现的次数。然后再遍历一遍字符串,找到第一个出现次数为 1 的字符就可以了。
def first_non_repeating_character(string):
char_count = {}
for char in string:
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
for char in string:
if char_count[char] == 1:
return char
return -1
assert(first_non_repeating_character("abbccd") == 'a')
assert(first_non_repeating_character("abcabc") == 'c')
assert(first_non_repeating_character("abc") == 'a')
assert(first_non_repeating_character("") == -1)