class Solution {
public:
char firstUniqChar(string s) {
unordered_map<char,int> mp;
for(char c:s) mp[c]++;
for(char c:s)
if(mp[c]==1) return c;
return ' ';
}
};
c++中map和unordered_map的差別
map中的元素是按照二叉搜索樹存儲的,特點就是左子樹上所有節點的鍵值都小於根節點的鍵值,右子樹所有節點的鍵值都大於根節點的鍵值
適用處:對於那些有順序要求的問題,用map會更高效一些
unordered_map:
- 優點: 因爲內部實現了哈希表,因此其查找速度非常的快
- 缺點: 哈希表的建立比較耗費時間
- 適用處:對於查找問題,
unordered_map
會更加高效一些,因此遇到查找問題,常會考慮一下用unordered_map