• 剑指Offer 找出字符串中第一个只出现一次的字符


    题目描述

    找出字符串中第一个只出现一次的字符

    如果无此字符 请输出'.'


    输入描述:

    输入一串字符,由小写字母组成



    输出描述:

    输出一个字符


    输入例子:
    asdfasdfo
    

    输出例子:
    o



    思路:
    数组s记录出现的字母顺序。time数组记录出现的次数,每个char对应一个int型,,,所以,字母a出现的次数可以直接用time['a']表示。



    AC代码:
     1 #include "iostream"
     2 #include "string.h"
     3 #define MAX 201
     4 using namespace std;
     5 
     6 char FindChar(char* pInputString)
     7 {
     8     char s[26];//字母出现的顺序
     9     int time[MAX] = {0};//字母出现的次数
    10     int t = 0;
    11     char ans;
    12 
    13     for (int i = 0; i < strlen(pInputString); i++)
    14     {
    15         if (time[pInputString[i]] == 0)
    16         {
    17             s[t] = pInputString[i];
    18             t++;
    19         }
    20 
    21         time[pInputString[i]] ++;
    22     }
    23 
    24     for (int i = 0; i < t; i++)
    25     {
    26         if (time[s[i]] == 1)
    27         {
    28             ans = s[i];
    29             return ans;
    30         }            
    31     }
    32 
    33     return '.';
    34 }
    35 
    36 int main()
    37 {
    38     char a[MAX];
    39     char p;
    40 
    41     while (cin >> a)
    42     {
    43         cout << FindChar(a)<<endl;
    44     }
    45     
    46     system("pause");
    47 }
  • 相关阅读:
    灾难 BZOJ 2815
    消耗战 BZOJ 2286
    征途 BZOJ 4518
    纸箱堆叠 BZOJ 2253
    Gate Of Babylon BZOJ 1272
    std::string::npos mean
    [转]整理索引碎片,提升SQL Server速度
    笔记本win7制作wifi
    关闭linux下的使用的端口
    linux多线程
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5802918.html
Copyright © 2020-2023  润新知