信息学奥赛一本通(C++版)在线评测系统
【题目描述】
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
【输入】
一个字符串,长度小于100000。
【输出】
输出第一个仅出现一次的字符,若没有则输出no。
【输入样例】
abcabd
【输出样例】
c
代码解答
#include<iostream>
#include<string>
using namespace std;
int cnt[200];
int main() {
string s;
cin >> s;
for (int i = 0; i < s.size(); i++) {
cnt[s[i] - 'a' + 1]++;
}
for (int i = 0; i < s.size(); i++) {
if (cnt[s[i] - 'a' + 1] == 1) {
cout << s[i];
return 0;
}
}
cout << "no";
return 0;
}