给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
//以下代码从个人leetcode复制而来
//方法1:排序再比较两个字符串是否相等
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(), s.end());
sort(t.begin(), t.end());
return s == t;
}
};
//方法2:哈希法
class Solution {
public:
bool isAnagram(string s, string t) {
int ant[26] = {0};
for(int i = 0; i < s.size(); i++){
ant[s[i] - 'a']++;
}
for(int i = 0; i < t.size(); i++){
ant[t[i] - 'a']--;
}
for(int i = 0; i < 26; i++){
if(ant[i] != 0){
return false;
}
}
return true;
}
};