给定一个字符串和长度为n的字符串,找到其中第一个不重复的字符并返回其索引。如果不存在,则返回-1
时间: 2024-05-08 10:18:25 浏览: 131
11.Un-repeated-Character-in-String:11.给定一个字符串,找出其中第一个不重复的字符? 给出一些测试用例,作者是 Sathish Sharma,CSE,第 3 年
好的,您的问题是:给定一个字符串和长度为n的字符串,找到其中第一个不重复的字符并返回其索引。如果不存在,则返回-1。
我可以给您提供一个Python的解法,代码如下:
```
def firstUniqChar(s: str) -> int:
# 构建哈希表
char_dict = {}
for char in s:
if char in char_dict:
char_dict[char] += 1
else:
char_dict[char] = 1
# 查找第一个不重复的字符
for i in range(len(s)):
if char_dict[s[i]] == 1:
return i
return -1
```
这个算法的时间复杂度是O(n),因为我们需要扫描整个字符串。我们使用一个哈希表来存储每个字符出现的次数,然后再次遍历字符串,找到第一个出现次数为1的字符。
如果您有任何疑问,请随时告诉我。
阅读全文