使用哈希表映射,我们还是用一个数组来代替哈希表
我们先判断两个字符串长度是否相同,不相同直接返回false。然后把s中所有的字符出现个数统计起来,存入一个大小为26的数组中,因为题目中限定了输入字符串为小写字母组成。然后我们再来统计t字符串,如果发现不匹配则返回false。
class Solution {
public:
bool isAnagram(string s, string t) {
if(s.size() != t.size())
return false;
int m[26] = {0};
for(auto a : s)
++m[a - 'a'];
for(auto b : t)
if(--m[b - 'a'] < 0)
return false;
return true;
}
};