4.找第一个只出现一次的字符(P067):给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。
时间: 2023-08-14 19:16:33 浏览: 83
可以使用哈希表来解决这个问题。遍历字符串,统计每个字符出现的次数,然后再遍历一遍字符串,找到第一个出现次数为1的字符即可。
C++代码如下:
```c++
#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
char firstUniqChar(string s) {
unordered_map<char, int> umap;
for (int i = 0; i < s.size(); i++) {
umap[s[i]]++;
}
for (int i = 0; i < s.size(); i++) {
if (umap[s[i]] == 1) {
return s[i];
}
}
return ' ';
}
int main() {
string s = "leetcode";
char res = firstUniqChar(s);
cout << res << endl; // e
return 0;
}
```
时间复杂度为 O(n),空间复杂度为 O(n)。
相关问题
4.找第一个只出现一次的字符(P067):给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。简单Python
好的,这是一个经典的字符串问题。我们可以使用Python内置的collections模块中的Counter类来统计每个字符出现的次数,然后再遍历一遍字符串找到第一个出现次数为1的字符。
以下是Python的实现代码:
```python
from collections import Counter
def firstUniqChar(s: str) -> str:
# 使用Counter统计每个字符出现的次数
char_count = Counter(s)
# 遍历字符串找到第一个出现次数为1的字符
for char in s:
if char_count[char] == 1:
return char
# 如果没有找到则返回空字符
return ''
```
如果输入字符串为 "leetcode",则输出为 "l",因为 "l" 是第一个仅出现一次的字符。
找第一个只出现一次的字符(P067):给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。(用Python写)
可以使用Python中的字典来统计每个字符出现的次数,然后再遍历一遍字符串,找到第一个出现次数为1的字符即可。
代码如下:
```
def firstUniqChar(s: str) -> str:
# 统计每个字符出现的次数
count = {}
for c in s:
count[c] = count.get(c, 0) + 1
# 遍历字符串,找到第一个出现次数为1的字符
for c in s:
if count[c] == 1:
return c
return " "
```
这样,调用`firstUniqChar`函数,就可以找到第一个仅出现一次的字符了。
阅读全文