剑指offer第一个只出现一次的字符

Posted asumi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer第一个只出现一次的字符相关的知识,希望对你有一定的参考价值。

题目链接:第一个只出现一次的字符


题意:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

 

题解:map统计。再查找。STL大法好

 

代码:

 1 class Solution {
 2 public:
 3     int FirstNotRepeatingChar(string str) {
 4         int len = str.size();
 5         if(len == 0)    return -1;
 6         map<char,int> mp;
 7         for(int i = 0; i < len ;i++){
 8             mp[str[i]]++;
 9         }
10         for(int i = 0; i < len ;i++){
11             if(mp[str[i]] == 1)    return i;
12         }
13         return 0;
14     }
15 };

 

以上是关于剑指offer第一个只出现一次的字符的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer-第一个只出现一次的字符位置

剑指Offer——第一个只出现一次的字符

剑指offer-第一个只出现一次的字符

[剑指offer]面试题35:第一个只出现一次的字符

剑指Offer--第50题 第一次只出现一次的字符

剑指offer34:第一个只出现一次的字符的位置