找第一个只出现一次的字符

2022年8月21日 | 分类: 【题目】

【来源】

《OpenJudge 1.7 字符串基础全解(1-20)》
网址:https://www.codetd.com/article/4120656

【题目】

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

输入:

一个字符串,长度小于100000。

输出:

输出第一个仅出现一次的字符,若没有则输出no。

样例输入:

abcabd

样例输出:

c

【代码】

#include<iostream> 
#include<cstring> 
#include<stdio.h>

using namespace std; 
main () 
{ 
	int  a[27] = {0};
	char c[100005];
	cin >> c;
	char b;
	int len = strlen(c);

	for(int i = 0; i < len; i++)
	{
		a[ c[i]-'a' ]++;
	}
	int flag = 0;
	for(int i = 0; i < len; i++)
	{
		if(a[c[i]-'a'] == 1)
		{
			b = c[i];
			flag = 1;
			break;
		}
	}
	if(!flag)
	cout << "no" ;
	else
	cout << b;
	
}