python获取字符串中的第一个唯一字符。 要求:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
时间: 2024-10-09 14:06:53 浏览: 35
在Python中,你可以通过创建一个字典来跟踪每个字符的出现次数,然后遍历字符串查找第一个未出现在字典中的字符。以下是一个简单的函数实现这个功能:
```python
def first_unique_char(s):
char_count = {}
for i, char in enumerate(s):
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
for index, char in enumerate(s):
if char_count[char] == 1:
return index
# 如果没有找到唯一的字符,返回 -1
return -1
```
在这个函数中,我们首先初始化一个空字典`char_count`,然后遍历输入字符串`s`的每一个字符。对于每个字符,如果它已经在字典中,我们就增加计数;如果不在,就添加到字典并设置计数为1。接着,我们再次遍历字符串,当遇到计数为1的字符时,说明找到了第一个唯一字符,返回其索引。如果没有找到这样的字符,函数最后返回-1。
相关问题
python 字符串中第一个唯一字符
题目描述:
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
示例:
s = "leetcode"
返回 0
s = "loveleetcode"
返回 2
注意事项:
您可以假定该字符串只包含小写字母。
解法:
- 使用字典记录每个字符出现的个数。
- 再遍历一遍字符串,找到第一个出现次数为 1 的字符,返回它的索引。
代码实现:
class Solution:
def firstUniqChar(self, s: str) -> int:
# 统计每个字符出现的次数
count = {}
for char in s:
count[char] = count.get(char, 0) + 1
# 找到第一个出现次数为 1 的字符
for i, char in enumerate(s):
if count[char] == 1:
return i
return -1
python语言编写以下程序:给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1
在Python中,你可以通过创建一个哈希表来追踪字符及其出现次数,然后遍历字符串一次,找到第一个只出现一次的字符。以下是实现这一功能的简单代码:
```python
def firstUniqChar(s):
char_count = {} # 创建一个字典用于存储字符计数
for i, char in enumerate(s): # 遍历字符串和其索引
if char in char_count:
char_count[char] += 1
else:
char_count[char] = 1
# 再次遍历字符串,检查字符计数是否为1,找到第一个不重复的字符的索引
for i, char in enumerate(s):
if char_count[char] == 1:
return i # 返回字符的索引
return -1 # 如果找不到不重复的字符,返回-1
# 测试
test_str = "loveleetcode"
print(firstUniqChar(test_str)) # 输出:0,因为'l'是第一个不重复的字符
```
在这个函数中,我们首先统计了字符串中每个字符出现的次数,然后再查找第一次出现次数为1的字符的索引。
阅读全文