题目背景
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram” 输出: true 示例 2:
输入: s = “rat”, t = “car” 输出: false
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/valid-anagram
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法一
class Solution {
public:
bool isAnagram(string s, string t) {
sort(s.begin(),s.end());
sort(t.begin(),t.end());
if(s== t)
return true;
else
return false;
}
};
解法二
class Solution {
public:
bool isAnagram(string s, string t) {
if(s.size()!=t.size())
return false;
int hash[26] = {0};
for(int i=0;i<t.size();i++){
hash[t[i]-'a']++;
}
for(int j=0;j<s.size();j++){
hash[s[j]-'a']--;
if(hash[s[j]-'a']<0)
return false;
}
return true;
}
};