哈希法:数组,set,map ----------总结:要是哈希值很大,数组不适用。
1.map
class Solution {
public:
bool isAnagram(string s, string t) {
unordered_map<char,int> map;
int n = s.size();
if(s.size()!=t.size()) return false;
for(int i=0;i<n;++i){
++map[s[i]];
--map[t[i]];
}
for(auto k:map){
if(k.second!=0){
return false;
}
}
return true;
}
};
2.数组
class Solution {
public:
bool isAnagram(string s, string t) {
int hash[26]{0};
if(s.size()!=t.size()) return false;
for(int i=0;i<s.size();++i){
++hash[s[i]-'a'];
--hash[t[i]-'a'];
}
for(int i=0;i<26;++i){
if(hash[i]!=0) return false;
}
return true;
}
};