【发布时间】:2021-04-10 01:05:01
【问题描述】:
我试图理解这个 isAnagram 算法,其中两个单词需要具有相同的长度和相同的字母, 有人知道为什么需要-97吗? 这个数字是从哪里来的?
为什么一定是数字 97?
var isAnagram = function(s, t) {
if (s.length !== t.length) return false;
let checkArray = new Array(26).fill(0);
for (let i = 0; i < s.length; i++) {
checkArray[s.charCodeAt(i) - 97]++;
}
for (let x = 0; x < t.length; x++) {
checkArray[t.charCodeAt(x) - 97]--;
}
for (let k = 0; k < 26; k++) {
if (checkArray[k] !== 0) return false;
}
return true;
};
console.log('Anagram: ', isAnagram("anagram","nagaram"))
【问题讨论】:
标签: javascript algorithm ascii