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

2017/07/03 10:01
阅读数 402

题目:
在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置 
思路:实际上就是用一个hash表来以字符作为key,出现次数作为value,存储字符总次数,首先遍历字符,然后遍历hash表。

class Solution {
public:
    int FirstNotRepeatingChar(string str) {

        int len=str.size();
        if(len<=0)
            return -1;
    vector<int> v1(256,0);
        int i;
    for( i=0;i<len;i++)
        v1[str[i]]++;
    for(i=0;i<len;i++){
        if(v1[str[i]]==1){

            break;
        }

    }
        return i;
    }
};

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
返回顶部
顶部