题目描述
给你一个只包含小写字母的字符串。
请你判断是否存在只在字符串中出现过一次的字符。
如果存在,则输出满足条件的字符中位置最靠前的那个。
如果没有,输出 no。
C++ 代码
#include <iostream>
using namespace std;
int main() {
string s;
cin >> s;
const int MAX_CHAR = 26; // 小写字母个数
int count[MAX_CHAR] = {0}; // 用于统计每个小写字母出现的次数
// 统计字符出现次数
for (int i = 0; i < s.length(); i++) {
count[s[i] - 'a']++;
}
// 查找只出现一次的字符并输出
for (int i = 0; i < s.length(); i++) {
if (count[s[i] - 'a'] == 1) {
cout << s[i] << endl;
return 0;
}
}
cout << "no" << endl;
return 0;
}