dede 分类信息网站 模板,dw如何用表格做网站,深圳做网站好的网站建设公司,wordpress迁移 404242. 有效的字母异位词
题目描述
给定两个字符串 s 和 t #xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。
注意#xff1a;若 s 和 t 中每个字符出现的次数都相同#xff0c;则称 s 和 t 互为字母异位词。
示例 1: 输入: s “anagram”, t “nagaram” 输出…242. 有效的字母异位词
题目描述
给定两个字符串 s 和 t 编写一个函数来判断 t 是否是 s 的字母异位词。
注意若 s 和 t 中每个字符出现的次数都相同则称 s 和 t 互为字母异位词。
示例 1: 输入: s “anagram”, t “nagaram” 输出: true 示例 2: 输入: s “rat”, t “car” 输出: false 提示:
1 s.length, t.length 5 * 104s 和 t 仅包含小写字母
进阶: 如果输入字符串包含 unicode 字符怎么办你能否调整你的解法来应对这种情况
解题方案
C 字母哈希表
bool isAnagram(char* s, char* t) {int alphabet[26] {0};int i 0;for (i 0; i strlen(s); i) {alphabet[s[i] - a];}for (i 0; i strlen(t); i) {alphabet[t[i] - a]--;}for (i 0; i 26; i) {if (alphabet[i] ! 0) {return false;}}return true;
}C 先排序再比较
int mycmp(char* a, char* b) { return *a - *b; }bool isAnagram(char* s, char* t) {if (strlen(s) ! strlen(t)) {return false;}qsort(s, strlen(s), sizeof(char), mycmp);qsort(t, strlen(t), sizeof(char), mycmp);for (int i 0; i strlen(s); i) {if (s[i] ! t[i]) {return false;}}return true;
}