📌  相关文章
📜  国际空间研究组织 | ISRO CS 2007 |问题 7(1)

📅  最后修改于: 2023-12-03 15:07:33.292000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2007 | 问题 7

这个问题是关于字符串操作的问题。代码应该能够接受一个字符串,并返回第一个不重复的字符。如果找不到这样的字符,则返回 -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)