📌  相关文章
📜  查找字符串第一个重复的字符(1)

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

查找字符串第一个重复的字符

在编程中,有时候需要查找一个字符串中第一个重复的字符。这个操作可能会在多种场景中用到,比如字符串匹配等。本文将会介绍如何通过代码实现这个操作。

思路

我们可以通过哈希表(或者字典)来实现对字符串中每个字符出现次数的计数。从左到右遍历字符串,如果当前字符出现次数已经为 1,则表示找到了第一个重复的字符。

代码实现

以下是 Python 代码实现主体逻辑:

def find_first_duplicate(s: str) -> str:
    """
    查找字符串 s 中的第一个重复字符。
    """
    count = {}
    for c in s:
        if c in count and count[c] == 1:
            return c
        count[c] = count.get(c, 0) + 1
    return ""

可通过以下代码来测试该函数:

print(find_first_duplicate("hello"))  # "l"
print(find_first_duplicate("world"))  # ""
性能

以上实现的时间复杂度和空间复杂度都是 O(n),其中 n 为字符串长度。因为我们需要对每个字符进行计数并在哈希表中存储已经出现的字符。

总结

求字符串中第一个重复字符是一种常见的问题,本文介绍的实现思路适用于大多数情况,并且代码也比较简洁。在实际使用时,可以根据具体情况进行改进。