1130:找第一个只出现一次的字符
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 48753 通过数: 18815
【题目描述】
给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。
【输入】
一个字符串,长度小于100000。
【输出】
输出第一个仅出现一次的字符,若没有则输出no。
【输入样例】
abcabd
【输出样例】
c
【参考代码】
C代码:
#include <stdio.h> #define N 100010 char s[N]; int main() { int letters[26]= {0}; int i,flag=0; gets(s); for(i=0;s[i]!='\0';i++) letters[s[i]-'a']++; for(i=0;s[i]!='\0';i++) { if(letters[s[i]-'a']==1) { printf("%c\n",s[i]); flag=1; break; } } if(flag==0) printf("no\n"); return 0; }
C++代码:
#include <iostream> #include <string> using namespace std; int main() { string s; bool flag=false; int letters[26]={0}; cin >> s; for(int i=0;s[i]!='\0';i++) letters[s[i]-'a']++; for(int i=0;i<s.size();i++) { if(letters[s[i]-'a']==1) { cout << s[i] << endl; flag=true; break; } } if(flag==false) cout << "no" << endl; return 0; }
http://ybt.ssoier.cn:8088/problem_show.php?pid=1130