T1104 Encuentra el primer carácter que aparece solo una vez

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;
} 

Supongo que te gusta

Origin blog.csdn.net/qq_44524918/article/details/108630009
Recomendado
Clasificación