-
题目描述:
-
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。
-
输入:
-
输入有多组数据
每一组输入一个字符串。
-
输出:
-
输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
-
样例输入:
-
ABACCDEFF AA
-
样例输出:
-
1
-1
-
-
这个很简单吧。。。。不说了,看代码吧
-
-
#include<iostream> #include<string.h> using namespace std; char s[10001]; int slen; int main() { char temp; int j,k; while(cin>>s) { int nu[30]={0}; slen=strlen(s); for(j=0;j<slen;j++) nu[s[j]-'A']++; bool ga=false; for(j=0;j<26;j++) if(nu[j]==1) { ga=true; break; } if(ga) { for(k=0;k<slen;k++) if(s[k]-'A'==j) { cout<<k<<endl; break; } } else cout<<-1<<endl; } return 0; } /************************************************************** Problem: 1283 User: 午夜小白龙 Language: C++ Result: Accepted Time:60 ms Memory:1528 kb ****************************************************************/
-