-
题目描述:
-
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。
-
输入:
-
输入有多组数据
每一组输入一个字符串。
-
输出:
-
输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
-
样例输入:
-
ABACCDEFF AA
-
样例输出:
-
1 -1
-
#include <iostream> #include <cstring> #include <stdio.h> #include <stdlib.h> using namespace std; int main(int argc,char* argv[]) { char str[10001]; memset(str,'\0',sizeof(str)); int table[26]; while(scanf("%s",str)!= EOF) { int i = 0; memset(table,0,sizeof(table)); int length = strlen(str); for(i = 0;i<length;++i) ++table[str[i] - 'A']; for(i = 0;i<length;++i) { if(table[str[i] - 'A'] == 1) { cout<<i<<endl; break; } } if(i == length) cout<<-1<<endl; memset(str,'\0',sizeof(str)); } return 0; }