一、题目描述
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
二、问题分析
两个哈希表存储出现的次数,再次遍历看他们存储的各个字符的数目是否相同即可
三、代码实现
class Solution {
public:
bool isAnagram(string s, string t) {
if(s.size() != t.size())
return false;
int len = s.size();
unordered_map<char, int> count1, count2;
for(int i = 0; i < len; i++)
{
count1[s[i]]++;
count2[t[i]]++;
}
for(int i = 0; i < len; i++)
{
if(count1[s[i]] != count2[s[i]])
return false;
}
return true;
}
};