利用哈希map记录s和t中每个字母出现的次数,然后进行逐一比对
class Solution {
public:
bool isAnagram(string s, string t) {
map<char,int>m1,m2;
int sLen=s.size();
int tLen=t.size();
if(sLen!=tLen){ //如果长度不一样则必定不为异位词
return false;
}
for(int i=0;i<s.size();i++){//通过m记录s和t中每个字母出现的次数
m1[s[i]]++;
m2[t[i]]++;
}
for(char i='a';i<='z';i++){//每个字母逐一比对,如果字母出现不一样则不为不为异位词
if(m1[i]!=m2[i]){
return false;
}
}
return true;
}
};