題目描述
因為s和t僅僅包含小寫字母,所以可以開一個26個元素的數組用來做哈希表。不過如果是unicode字符,那就用編程語言自帶的哈希表。
class Solution {
public:bool isAnagram(string s, string t) {int n = s.size();if(s.size() != t.size())return false;unordered_map<char,int> hash_table;for(char ch:s){if(hash_table.contains(ch)){hash_table[ch]++;}else{hash_table[ch] = 1;}}for(char ch:t){if(hash_table.contains(ch)){n--;hash_table[ch]--;if(hash_table[ch] == 0)hash_table.erase(ch);}else{return false;}}return n==0;}
};