描述
输入
一个字符串,长度小于100000。
输出
输出第一个仅出现一次的字符,若没有则输出no。
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
样例输入
abcabd
样例输出
c
思路:题目中要求的是只出现一次且为第一个的字符,可先将输入的字符串中每个字符出现的次数统计,如果出现1,就退出,如果超过代码长度,就输出no
代码:
<span style="color:#231f17;">#include<bits/stdc++.h>
using namespace std;
int main()
{ char c[100001];
int k=0,l,a[200],j=0;
gets(c);//输入一串字符
l=strlen(c);//计算字符串长度并存储
for(int i=0;i<l;i++)
a[c[i]]++;//统计字符出现次数
for(j=0;j<l;j++)
{
if(a[c[j]]==1) break;//第一次出现次数为1的就退出
}
if(j!=strlen(c)) cout<<c[j];//如果不超过字符串长度就输出答案
else cout<<"no"<<endl;//如果超过字符串长度就输出no
return 0;
}