看到题目首先想到的解法是使用unordered_map容器来做,遍历第一个字符串,统计每个char出现的次数,然后遍历第二个字符串,出现一个char,map对应值就减一,最后判断map容器所有键值是否为0,如果全部为0,则返回true,否则返回false。代码如下:
class Solution {
public:
bool isAnagram(string s, string t) {
unordered_map<char,int> mp;
if(s.size() != t.size()){
return false;
}
for(auto i : s){
mp[i]++;
}
for(auto j : t){
mp[j]--;
}
for(auto i : mp){
if(i.second != 0){
return false;
}
}
return true;
}
};