AcWing 772. 只出现一次的字符
原题链接
中等
题目描述
给你一个只包含小写字母的字符串。
请你判断是否存在只在字符串中出现过一次的字符。
如果存在,则输出满足条件的字符中位置最靠前的那个。
如果没有,输出 no。
输入格式
共一行,包含一个由小写字母构成的字符串。
数据保证字符串的长度不超过 100000。
输出格式
输出满足条件的第一个字符。
如果没有,则输出 no。
输入样例
abceabcd
输出样例
e
简单思路
这道题只要使用两个for,第一个用来存储每个数出现的个数,第二个输出加return 0;,如果没有最后输出no即可
c++代码
#include <iostream>
using namespace std;
char cnt[26];
char a[100010];
int main()
{
cin >> a;
for (int i = 0; a[i]; i ++) cnt[a[i] - 'a'] ++;
for (int i = 0; a[i]; i ++)
if (cnt[a[i] - 'a'] == 1)
{
cout << a[i] << endl;
return 0;
}
puts("no");
return 0;
}