题目描述
因为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;}
};