编写一个Python程序,能在字符串中找出第一个只出现一次的字符
时间: 2024-06-12 21:08:48 浏览: 202
可以使用两种思路来编写一个Python程序来找出字符串中第一个只出现一次的字符。
思路1:使用一个空字典来统计每个字符出现的次数,然后再次遍历字符串找到最先出现的只出现一次的字符输出。如果没有符合条件的字符,则输出"no"。
```python
s = input()
flag = 1
dt = {}
for i in s:
dt[i] = dt.get(i, 0) + 1
for i in s:
if dt[i] == 1:
print(i)
flag = 0
break
if flag == 1:
print('no')
```
思路2:使用count函数来统计每个字符在字符串中出现的次数,然后再次遍历字符串找到第一个只出现一次的字符输出。如果没有符合条件的字符,则输出"no"。
```python
s = input()
for i in s:
if s.count(i) == 1:
print(i)
exit()
print('no')
```
相关问题
编写一个python程序,能在字符串中找出第一个只出现一次的字符
可以使用Python内置的Counter模块来实现这个功能,以下是示例代码:
```python
from collections import Counter
def first_unique_char(s):
count = Counter(s)
for c in s:
if count[c] == 1:
return c
return None
s = "abaccdeff"
print(first_unique_char(s)) # 输出 'b'
```
这个程序会在字符串中找出第一个只出现一次的字符,并返回它。如果字符串中没有只出现一次的字符,则返回None。
编写一个python程序,能在字符串中找出第一个只出现一次的字符,要求时间复杂度不超过O(n)
```python
def find_first_unique_char(s):
"""
在字符串中找出第一个只出现一次的字符
:param s: 字符串
:return: 第一个只出现一次的字符,如果没有则返回None
"""
# 构建一个字典,存储每个字符出现的次数
char_dict = {}
for char in s:
char_dict[char] = char_dict.get(char, 0) + 1
# 遍历字符串,找到第一个只出现一次的字符
for char in s:
if char_dict[char] == 1:
return char
return None
```
时间复杂度为O(n),因为遍历字符串和构建字典的时间复杂度都为O(n)。
阅读全文