T1104 Encuentra el primer carácter que solo aparece una vez
Dada una cadena que contenga solo letras minúsculas, busque el primer carácter que aparece solo una vez. De lo contrario, envíe "no".
Formato de entrada
Una cadena de caracteres con una longitud inferior a 100000100000.
Formato de salida
Muestra el primer carácter que aparece solo una vez, o muestra "no" si no hay ninguno. (El espacio adicional al final de cada línea durante la salida no afecta la exactitud de la respuesta)
Entrada de muestra
abcabd
Salida de muestra
c
Código
#include <iostream>
#include <string>
using namespace std;
int main(){
string s;
int count[26] = {
0};//使用一个数组来存储26个字母出现的次数
int len = 0;//存储s的长度
getline(cin,s);
len = s.length();
// 首先循环一次s,统计所有字母出现的次数
for(int i=0; i<len; i++){
count[s[i]-'a']++;//'a'的ASCII码为97
}
//再循环遍历统计结果,出现第一个出现一次的字符就输出,并终止
for(int i=0; i<len; i++){
if(count[s[i]-'a'] == 1){
cout << s[i];
return 0;
}
}
//如果没有则输出no
cout << "no";
return 0;
}