可以用map实现啊
链接:https://www.nowcoder.com/questionTerminal/1c82e8cf713b4bbeb2a5b31cf5b0417c
来源:牛客网
#include<map.h>
char FirstNotRepeatingChar(string str) {
map mp;
for(inti = 0; i < str.size(); ++i)
mp[str[i]]++;
for(inti = 0; i < str.size(); ++i){
if(mp[str[i]]==1)
return str[i];
}
return '\0';
}
扩展
如果需要判断多个字符是不是在某个字符串里出现过或者统计多个字符在某个字符串中出现的次数,我们都可以考虑基于数组创建一个简单的哈希表(或者使用基类库中提供的现成的哈希表结构类型)。这样可以用很小的空间消耗换来换取时间效率的提升。