问题描述
给定两个字符串 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;
}