题目描述
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入格式
一个字符串,长度小于100000。
输出格式
输出第一个仅出现一次的字符,若没有则输出no。
输入样例
abcabd
输出样例
c
#include<iostream>
using namespace std;
int main(){
// abcabd -> 数组[cnt]++;
int a[123]={}, lens, pos, flag=0;
string s;
// cabbd
getline(cin, s);
lens=s.length();
for(int i=0; i<lens; i++){
// a['c']=1 a['a']=1 a['b']=2 a['d']=1
a[s[i]]++; // 把s里的字符作为a数组的下标
}
for(int i=0; i<lens; i++){
// cabbd
// s[i] 保证每个字符按照输入的顺序排列的
// a['c']==1
if(a[s[i]]==1) {
cout<<s[i];
flag=1;
break;
}
}
if(flag==0) cout<<"no";
return 0;
}
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/270421.html