对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A 及它的长度 n。请返回第一个重复出现的字符。保证 字符串中有重复字符,字符串的长度小于等于 500。
时间: 2023-10-14 16:43:04 浏览: 178
可以使用哈希表来解决这个问题。遍历字符串A,将每个字符作为键存储在哈希表中,值为该字符出现的次数。当遇到第一个字符出现次数大于1的情况时,即可返回该字符。
以下是使用Python实现的代码示例:
```python
def firstRepeatChar(A, n):
char_count = {}
for i in range(n):
if A[i] in char_count:
return A[i]
else:
char_count[A[i]] = 1
return None
# 示例测试
A = "abca"
n = len(A)
print(firstRepeatChar(A, n)) # 输出: 'a'
```
该算法的时间复杂度为O(n),空间复杂度为O(n)。
阅读全文