剑指offer:第一个只出现一次的字符
定义一个输入字符串型的str,输出整数型,unordered_map <char,int> mp;用哈希映射,将字符类型的值映射到整数型的值,for循环遍历字符串,出现一样的加一,再用for循环重新遍历一遍,如果出现的次数位1,就输出i,没有的话就输出-1!!!
class Solution{
public:
int FirstNotRepeatingChar(string str){
unordered_map <char,int> mp;
for(int i=0;i<str.size();++i){
mp[str[i]]+=1;
}
for(int i=0;i<str.size();++i){
if(mp[str[i]]==1) return i;
}
return -1;
}
};
#剑指offer##23届找工作求助阵地#
查看5道真题和解析