4.找第一个只出现一次的字符(P067):给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。
时间: 2023-08-14 16:16:33 浏览: 88
可以使用哈希表来解决这个问题。遍历字符串,统计每个字符出现的次数,然后再遍历一遍字符串,找到第一个出现次数为1的字符即可。
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的实现代码:
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" 是第一个仅出现一次的字符。
:给定一个只包含小写字母的字符串,请你找 到第一个仅出现一次的字符。
好的,这是一个比较常见的字符串问题。我们可以使用哈希表来记录每个字符出现的次数。具体步骤如下:
遍历字符串,统计每个字符出现的次数,可以使用哈希表来记录。
再次遍历字符串,找到第一个出现次数为1的字符,返回它的位置。
如果遍历结束仍未找到出现次数为1的字符,则返回-1。
下面是一个示例代码:
阅读全文
相关推荐















