题目描述 给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。 输入 一个字符串,长度小于100000。 输出 输出第一个仅出现一次的字符,若没有则输出no。 样例输入 复制 abcabd 样例输出 复制 c c++实现
时间: 2023-10-30 21:07:03 浏览: 168
在一个字符串中找到第一个只出现一次的字符
题目描述:
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入:
一个字符串,长度小于100000。
输出:
输出第一个仅出现一次的字符,若没有则输出no。
样例输入:
abcabd
样例输出:
c
实现:
```
#include<iostream>
#include<map>
#include<string>
using namespace std;
int main()
{
string str;
map<char,int> mp;
cin>>str;
int n=str.size();
for(int i=0;i<n;i++)
{
mp[str[i]]++;
}
for(int i=0;i<n;i++)
{
if(mp[str[i]]==1)
{
cout<<str[i];
return 0;
}
}
cout<<"no"<<endl;
return 0;
}
```
注意事项:
1. 要使用map容器记录每个字符出现的次数。对于一个字符,第一次出现时计数器加1,第二次出现时计数器再加1。
2. 依次扫描字符串,找到第一次计数器为1的字符,输出即可。如果扫描完整个字符串都没有找到计数器为1的字符,说明没有符合要求的字符,输出no。
阅读全文