242. 有效的字母异位词

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

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

示例 1:

1
2
输入: s = "anagram", t = "nagaram"
输出: true

示例  2:

1
2
输入: s = "rat", t = "car"
输出: false

代码实现

1
2
3
4
5
6
7
8
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isAnagram = function (s, t) {
return s.split("").sort().join() === t.split("").sort().join();
};

代码实现2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
* @param {string} s
* @param {string} t
* @return {boolean}
*/
var isAnagram = function(s, t) {
if (s.length !== t.length) {
return false;
}
if (s === t) {
return true
}
const table = Array(26).fill(0);
const startCode = 'a'.codePointAt(0)
for (let i = 0; i < s.length; ++i) {
table[s.codePointAt(i) - startCode]++;
}
for (let i = 0; i < t.length; ++i) {
table[t.codePointAt(i) - startCode]--;
if (table[t.codePointAt(i) - startCode] < 0) {
return false;
}
}
return true;
};