【剑指Offer面试编程题】题目1283:第一个只出现一次的字符--九度OJ

题目描述:

在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符。

输入:

输入有多组数据
每一组输入一个字符串。

输出:

输出第一个只出现一次的字符下标,没有只出现一次的字符则输出-1。

样例输入:

ABACCDEFF
AA
样例输出:

1
-1
【解题思路】本题有很多思路可以做,包括map set 排序等应用,但,时间却是个问题。既然提到了字母,我们不妨用最原始的方法,统计每个字母出现的次数,然后按照字母的输入次序遍历26个字母,当某一个字母的次数为1则该字母为所求,否则不存在这样的字母。

AC code:

#include 
#include 
#include 
using namespace std;
 
int main()
{
  char cc[10002];
  while(scanf("%s",cc)!=EOF)
  {
    vector alpnum(26,0);
    vector vecin;
    int ll=strlen(cc);
    for(int i=0;i
题目链接:http://ac.jobdu.com/problem.php?pid=1283

九度-剑指Offer习题全套答案下载:http://download.csdn.net/detail/huoyaotl123/8276299



你可能感兴趣的:(zjof,剑指Offer面试编程题)