找第一个只出现一次的字符 c++
时间: 2023-10-30 14:03:07 浏览: 62
可以使用哈希表(unordered_map)来实现。先遍历一遍字符串,将每个字符出现的次数记录在哈希表中。然后再遍历一遍字符串,找到第一个出现次数为1的字符即可。
下面是一个示例代码:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
char firstNonRepeatingChar(string s) {
unordered_map<char, int> freq;
for (char c : s) {
freq[c]++;
}
for (char c : s) {
if (freq[c] == 1) {
return c;
}
}
return '\0'; // 没有找到符合条件的字符
}
int main() {
string s = "abacbdde";
char c = firstNonRepeatingChar(s);
if (c != '\0') {
cout << "The first non-repeating character is " << c << endl;
} else {
cout << "There is no non-repeating character in the string." << endl;
}
return 0;
}
```
输出结果为:
```
The first non-repeating character is c
```
相关推荐
![md](https://img-home.csdnimg.cn/images/20210720083646.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)
![](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)