242. 有效的字母异位词 (Leetcode刷题笔记)
https://lunan0320.cn
文章目录
题目
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
解题代码 C++(数组)
class Solution {
public:
bool isAnagram(string s, string t) {
if (s.size()!=t.size()) return false;
int* res = new int[26]();
for(int i = 0; i < s.size(); i++){
res[s[i]-'a']++;
res[t[i]-'a']--;
}
for(int i = 0; i < 26; i++){
if(res[i] != 0) return false;
}
return true;
}
};
解题代码 C++(哈希表)
class Solution {
public:
bool isAnagram(string s, string t) {
if(s.size() != t.size()) return false;
unordered_map<char,int> hash_map;
for(char c : s){
hash_map[c]++;
}
for(char c : t){
hash_map[c]--;
}
for(char c : s){
if(hash_map[c] != 0) return false;
}
return true;
}
};