【发布时间】:2020-03-03 06:54:32
【问题描述】:
这是来自 LeetCode - 有效的字谜
给定两个字符串 s 和 t ,编写一个函数来确定 t 是否是 s 的变位词。
示例 1:
输入:s = "anagram", t = "nagaram"
输出:真
示例 2:
您可以假设该字符串仅包含小写字母。
跟进: 如果输入包含 unicode 字符怎么办?您将如何调整您的解决方案以适应这种情况?
下面这些代码我看不懂
- result1[s.charCodeAt(i) - 97]++; --> ++ 是什么意思?
- result2.length = 26; --> 26 代表什么?
- result2.fill(0); --> 为什么用 0 填充?
请指教!
var isAnagram = function(s,t) {
if (s.length !== t.length)
result false;
const result1 = [];
result1.length = 26;
result1.fill(0);
const result2 = [];
result2.length = 26;
result2.fill(0);
for (let i = 0; i < s.length; i++) {
result1[s.charCodeAt(i) - 97]++;
result2[t.charCodeAt(i) - 97]++;
}
for (let i = 0; i < result1.length; i++) {
if (result1[i] !== result2[i]) {
return false;
}
}
return true;
};
【问题讨论】:
-
console.log(s[i], s.charCodeAt(i) - 97)
标签: javascript anagram