问题描述
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
问题分析
此问题与383. Ransom Note(赎金信)类似,只是字符变为了a-z这26个字符,然后要保证】对应的字符出现的次数相同。
代码
bool isAnagram(char* s, char* t) {
int a[26] = {0};
int b[26] = {0};
for(int i = 0; s[i] != '\0'; i++){
a[s[i]-'a']++;
}
for(int i = 0; t[i] != '\0'; i++){
b[t[i]-'a']++;
}
for(int i = 0; i < 26; i++){
if(a[i] != b[i]){
return false;
}
}
return true;
}
提交结果截图

本文介绍了一个用于检查两个字符串s和t是否为字母异位词的函数,通过计算每个字符在两个字符串中的出现次数并进行比较,实现判断。

被折叠的 条评论
为什么被折叠?



