Orion's Studio.

算法(16)-有效的字母异位词

2024/03/11

题目(easy)

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

思路

用数组的思路,只要有一个26长度的数组;只需要将 s[i] - ‘a’ 所在的元素作为下标;最后判断数组是否每一位都为 0。

以下是用 Map 的思路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const isAnagram = (s, t) {
if (s.length !== t.length) {
return false;
}
let char_count = new Map();
for (let item of s) {
char_count.set(item, (char_count.get(item) || 0) + 1);
}
for (let item of t) {
if (!char_count.get(item)) {
return false;
}
char_count.set(item, char_count.get(item) - 1);
}
return true;
}
CATALOG
  1. 1. 题目(easy)
  2. 2. 思路