题目
代码
class Solution {
public:
bool isAnagram(string s, string t) {
//字符交换了位置,但是每个字符的个数是一样的
map<char,int> res1,res2;
if(s.size()!=t.size())
return false;
for(int i=0;i<s.size();i++)
{
res1[s[i]]++;
res2[t[i]]++;
}
for(int i=0;i<s.size();i++)
{
if(res1[s[i]]!=res2[s[i]])
return false;
}
return true;
}
};
思路
字母异位但是所有位置的元素加起来对应的各个字符应该是相等的,因此用两个map存储进行遍历判断是否相等。