可以用map實(shí)現(xiàn)啊
鏈接:https://www.nowcoder.com/questionTerminal/1c82e8cf713b4bbeb2a5b31cf5b0417c
來(lái)源:盼颠叮客網(wǎng)
#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';
}
擴(kuò)展
如果需要判斷多個(gè)字符是不是在某個(gè)字符串里出現(xiàn)過或者統(tǒng)計(jì)多個(gè)字符在某個(gè)字符串中出現(xiàn)的次數(shù)斋射,我們都可以考慮基于數(shù)組創(chuàng)建一個(gè)簡(jiǎn)單的哈希表(或者使用基類庫(kù)中提供的現(xiàn)成的哈希表結(jié)構(gòu)類型)。這樣可以用很小的空間消耗換來(lái)?yè)Q取時(shí)間效率的提升线定。