:给定一个只包含小写字母的字符串,请你找 到第一个仅出现一次的字符。
时间: 2023-08-14 10:19:19 浏览: 42
好的,这是一个比较常见的字符串问题。我们可以使用哈希表来记录每个字符出现的次数。具体步骤如下:
1. 遍历字符串,统计每个字符出现的次数,可以使用哈希表来记录。
2. 再次遍历字符串,找到第一个出现次数为1的字符,返回它的位置。
如果遍历结束仍未找到出现次数为1的字符,则返回-1。
下面是一个示例代码:
相关问题
c++实现:给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no
下面是使用C++编写的程序,可以找到给定字符串中第一个仅出现一次的字符:
```cpp
#include <iostream>
#include <unordered_map>
using namespace std;
char findFirstUniqueChar(string s) {
unordered_map<char, int> charCount;
// 统计每个字符出现的次数
for (char c : s) {
charCount[c]++;
}
// 找到第一个仅出现一次的字符
for (char c : s) {
if (charCount[c] == 1) {
return c;
}
}
return ' ';
}
int main() {
string s;
cout << "请输入一个只包含小写字母的字符串:";
cin >> s;
char firstUniqueChar = findFirstUniqueChar(s);
if (firstUniqueChar != ' ') {
cout << "第一个仅出现一次的字符是:" << firstUniqueChar << endl;
} else {
cout << "no" << endl;
}
return 0;
}
```
你可以将以上代码保存为一个.cpp文件,然后使用C++编译器编译并运行该程序。程序会提示你输入一个只包含小写字母的字符串,然后输出第一个仅出现一次的字符,如果没有则输出"no"。
python 找第一个只出现一次的字符:给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。
可以使用哈希表统计每个字符出现的次数,然后再次遍历字符串,找到第一个出现次数为1的字符即可。代码如下:
```python
def first_uniq_char(s: str) -> str:
freq = {}
for c in s:
freq[c] = freq.get(c, 0) + 1
for c in s:
if freq[c] == 1:
return c
return ""
s = "leetcode"
print(first_uniq_char(s)) # 输出 l
```