gpt4 book ai didi

javascript - 理解 javascript 中 Valid Anagram 的解决方案

转载 作者:行者123 更新时间:2023-12-02 22:35:59 26 4
gpt4 key购买 nike

这是来自 LeetCode - 有效的 Anagram

给定两个字符串 s 和 t ,编写一个函数来确定 t 是否是 s 的字谜。
示例1:
输入:s =“anagram”,t =“nagaram”
输出:true
示例2:

您可以假设该字符串仅包含小写字母。

跟进:如果输入包含 unicode 字符怎么办?您将如何调整您的解决方案以适应这种情况?

我不明白下面这些代码

  • 结果1[s.charCodeAt(i) - 97]++; -->++ 是什么意思?
  • 结果2.长度= 26; --> 26 代表什么?
  • 结果2.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;
};

最佳答案

这是我的解决方案版本。您甚至可以在末尾跳过 join(),因为您仍然可以比较两个数组。

const isAnagram = function(s, t) {
if (s.length !== t.length ) {
return false;
}
if (s.split('').sort().join('') === t.split('').sort().join('')) {
return true;
} else {
return false;
}
};

关于javascript - 理解 javascript 中 Valid Anagram 的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58736091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com