思路
如果s的字母在t中都出现了,就是有效的字母异位词。先遍历一遍s,用桶a保存被个字母在s中出现的次数。再遍历一遍t,找到一个字母,就把a对应的位置减一。最后遍历一遍a如果t,s字母全部抵消,即a全部归零是s,t就是有效的字母异位词。
代码
bool isAnagram(string s, string t) {
int a[30];
for(int i=0;i<=26;i++) {
a[i]=0;
}
for(int i=0;i<=t.size()-1;i++) {
a[t[i]-'a']++;
}
for(int i=0;i<=s.size()-1;i++) {
a[s[i]-'a']–;
if(a[s[i]-'a']<0) {
return false;
}
}
for(int i=0;i<=26;i++) {
if(a[i]!=0) {
return false;
}
}
return true;
}
};



