题目描述
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
输入
一个字符串,长度小于100000。
输出
输出第一个仅出现一次的字符,若没有则输出no。
样例输入 复制
abcabd
样例输出 复制
c
#include<bits/stdc++.h>
using namespace std;
int num[100]={0};
int main()
{
string s;
while(cin >> s)
{
memset(num,0,sizeof(num));
int len = s.length(),flag = 0;
for(int i = 0 ; i < len ; i++)
{
num[s[i]-97]++;
}
for(int i = 0 ; i < len ; i++)
{
if(num[s[i]-97]==1)
{
flag = 1;
cout <<s[i]<< endl;
break;
}
}
if(flag==0)
cout << "no" <<endl;
}
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
int n,l,sum = 0 , i;
char a[100000],ch;
int sign = 1 ;
scanf("%d\n",&n);
while(n--)
{
gets(a);
l = strlen(a);
for(ch = 'a'; ch <='z' ; ch++)
{
for(i = 0 ; i < l ; l++)
{
if(ch == a[i])
sum++;
}
if(sum==1)
{
sign = 0;
break;
}
sum = 0;
}
if(sign == 1 )
printf("no\n");
else
printf("%c\n",ch);
sum = 0;
sign = 1 ;
}
}
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char q[100001];
int a[26] = {0};
gets(q);
int len = strlen(q);
for(int i = 0 ; i < len ; i++)
{
a[q[i]-'a']++;
}
for(int i = 0 ; i < l ; i++)
{
if(a[q[i]-'a']==1)
{
cout << q[i] <<endl;
return 0;
}
}
cout <<"no"<<endl;
return 0;
}
#include<stdio.h>
#include<string.h>
int main()
{
char a[100000];
int c[100000] = {0};
gets(a);
int len = strlen(a);
for(int i = 0 ; i < len ; i++)
{
for(int j = 0 ; j < len ; j++)
{
if(a[i]==a[j])
c[i]++;
}
if(c[i]==1)
{
printf("%c\n",a[i]);
return 0;
}
}
printf("no\n");
return 0;
}
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char str[100000],a[26]={0};
cin >> str;
long len = strlen(str);
for(int i = 0 ; i < len ; i++)
a[str[i]-'a']++;
for(int i = 0 ; i < len ; i++)
{
if(a[str[i]-97]==1)
{
cout << str[i]<<endl;
return 0;
}
}
cout << "no";
return 0;
}