-
题目描述:
-
在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。
-
输入:
-
输入有多组数据
每一组输入一个字符串。
-
输出:
-
输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。
-
样例输入:
-
ABACCDEFF AA
-
样例输出:
-
1 -1
-
#include <iostream> #include <string> #include <cstdio> #include <cstring> using namespace std; int main() { //freopen("input.txt","r",stdin); //只加这一句输入将被重定向到文件input.txt string input; int count[26]; memset(count,0,26); while(cin>>input) { // count[26]={0};这是什么鬼?只有定义事可以这样顺便初始化 memset(count,0,26);//记得清除上次运算结果 for(int i=0;i<input.length();i++) { count[input.at(i)-'A']++; } bool no_exit=true; for(int i=0;i<input.length();i++) { if(count[input.at(i)-'A']==1) { no_exit=false; cout<<i<<endl; break; } } if(no_exit)cout<<-1<<endl; } return 0; } /************************************************************** Problem: 1283 User: fuestck Language: C++ Result: Accepted Time:80 ms Memory:1520 kb ****************************************************************/