nefu 1029 字符串
Description
给定一个字符串,现在要你从这个字符串中找到第一个只出现一次的字符 ,很简单吧! 快敲代码,动作!
Input
多组输入,每行一个字符串(小写字母a~z)字符串长度不超过50
Output
输出第一个只出现一次的字符, 如果不存在输出-1
Sample Input
abdcefabch bcefgbcef cdecde
Sample Output
d g -1
//这道题我想了很久很久。。。思想是历遍找到第一个与后面不重复的词,然后在去比较前面的单词,看是不是不重复的,依次类推;
//嗯,,具体看代码吧,有些解释不清。。。
#include <iostream> #include <cstdio> #include <cstring> using namespace std; int data[26],flag,k,j; char a[55]; int main() { while(cin>>a)//abdcefabch 2 9 9-2=7 { flag=1; for(int i=0;i<strlen(a);i++) { k=0; for(j=i+1;j<strlen(a);j++) { if(a[i]==a[j]) break; else k++; } //cout<<k<<endl; //cout<<strlen(a)-i-1<<endl; if(k==strlen(a)-i-1) { // cout<<"+++"<<endl; for(int m=0;m<i;m++) { if(a[m]==a[i]) break; else k++; } //cout<<"??"<<endl; //cout<<k<<endl; if(k==strlen(a)-1) { cout<<a[i]<<endl; flag=0; break; } } } if(flag==1) cout<<"-1"<<endl; } return 0; }
你若是天才,我便是疯子