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

来源:互联网 发布:js鼠标悬停事件 编辑:程序博客网 时间:2024/06/05 04:26

题目描述
在一个字符串(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;    }};