输入一个字符串,找到字符串中第一个只出现一次的字符(区分大小写),返回他的位置(位置从零开始计数),如果不存在只出现一次的字符,则返回-1。
时间: 2023-08-24 18:17:37 浏览: 35
好的,这是一个比较经典的字符串问题。我可以帮你写一个 Python 函数来实现这个功能:
```python
def find_first_unique_char(s):
# 构造一个字典来记录每个字符出现的次数
char_cnt = {}
for c in s:
char_cnt[c] = char_cnt.get(c, 0) + 1
# 找到第一个出现次数为1的字符
for i in range(len(s)):
if char_cnt[s[i]] == 1:
return i
return -1
```
这个函数的思路比较简单,首先遍历一遍字符串,用一个字典记录每个字符出现的次数。然后再遍历一遍字符串,找到第一个出现次数为1的字符。如果不存在这样的字符,则返回-1。
你可以调用这个函数,并传入一个字符串作为参数。比如:
```python
s = 'leetcode'
print(find_first_unique_char(s)) # 输出 0,因为 l 是第一个只出现一次的字符
```
希望这个函数能够帮到你。
相关问题
java给定一个字符串,统计出该字符串中每个字符出现的次数,区分大小写
好的,可以使用一个HashMap来存储每个字符出现的次数,具体实现如下(假设给定的字符串为str):
```java
Map<Character, Integer> charCount = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (charCount.containsKey(c)) {
charCount.put(c, charCount.get(c) + 1);
} else {
charCount.put(c, 1);
}
}
```
遍历字符串中的每个字符,如果该字符已经在HashMap中出现过,则将对应的计数器加1,否则将该字符添加到HashMap中,并将计数器初始化为1。最终,HashMap中存储的就是每个字符出现的次数。注意,这个实现是区分大小写的,如果需要忽略大小写,可以在插入字符之前将其转换为小写或大写。
写一个函数求出一个字符串中所有字母的出现次数,不区分大小写
好的,以下是 Python 代码实现:
```python
def count_letters(s):
"""
统计字符串中每个字母出现的次数,不区分大小写
"""
d = {}
for c in s.lower():
if c.isalpha():
d[c] = d.get(c, 0) + 1
return d
```
函数 `count_letters` 接受一个字符串 `s`,通过字典 `d` 统计每个字母出现的次数。首先将字符串转换为小写字母,然后遍历每个字符,如果是字母就在字典中更新对应的计数器。最后返回字典 `d`。
例如,输入字符串 `"Hello, World!"`,函数的输出为 `{'h': 1, 'e': 1, 'l': 3, 'o': 2, 'w': 1, 'r': 1, 'd': 1}`,表示字符 `h` 出现了 1 次,字符 `e` 出现了 1 次,字符 `l` 出现了 3 次,以此类推。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)