有效的字母异位词

解法一

哈希表,统计26个字母出现的次数来对比

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

解法二

排序后是否相等

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

本站由 ao 使用 Stellar 1.29.1 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。