对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。...
时间: 2024-05-15 22:13:40 浏览: 88
可以使用哈希表来解决这个问题。遍历字符串中的每个字符,将其作为键存储在哈希表中,并将其值初始化为1。如果遍历过程中遇到了重复的字符,则直接返回该字符即可。如果遍历完整个字符串都没有重复的字符,则返回空字符。
以下是Python的实现:
```python
def first_repeat_char(s):
d = {}
for c in s:
if c in d:
return c
d[c] = 1
return ''
```
时间复杂度为O(n),空间复杂度为O(n)。
阅读全文