可以用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';
}
擴展
如果需要判斷多個字符是不是在某個字符串里出現過或者統計多個字符在某個字符串中出現的次數,我們都可以考慮基于數組創建一個簡單的哈希表(或者使用基類庫中提供的現成的哈希表結構類型)。這樣可以用很小的空間消耗換來換取時間效率的提升。