[九度OnlineJudge][剑指Offer]题目1283:第一个只出现一次的字符

题目描述:

在一个字符串(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
****************************************************************/


你可能感兴趣的:([九度OnlineJudge][剑指Offer]题目1283:第一个只出现一次的字符)