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

/*
思路:
1创建一个辅助数组,用于记录每一个字母出现的次数,遍历字符串统计字符出现次数;
2再次遍历字符串,找个第一个在辅助数组值为1的字符,并返回其角标。
*/

class Solution {
public:
    int FirstNotRepeatingChar(string str) {
        vector<int> temp(128);
        for(int i=0;i<str.length();i++){
            temp[str[i]]++;
        }
        for(int j=0;j<str.length();j++){
            if(temp[str[j]]==1)
                return j;
        }
        return -1;
    }
};

 


版权声明:本文为weixin_40271182原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。