题目描述
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
注意: 若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
代码
c语言
#define SIZE 26
bool isAnagram(char * s, char * t)
{
bool ret = true;
int record[SIZE] = {0};
// 统计s中字母出现的次数
while (*s != '\0') {
record[*s - 'a']++;
s++;
}
// 减去t中字母出现的次数
while (*t != '\0') {
record[*t - 'a']--;
t++;
}
// 次数不为0的则返回false
for (int i = 0; i < SIZE; i++) {
if (record[i] != 0) {
ret = false;
break;
}
}
return ret;
}