【发布时间】:2021-05-28 04:19:29
【问题描述】:
这是我对 leetcode 编号 234 的答案,它实际上与我找到的每个 js 答案一字不差。但是它说我的反向慢节点没有价值,这是为什么呢?我看不出问题出在哪里。
var isPalindrome = function(head) {
let fast = head;
let slow = head;
while(fast !== null && fast.next.next !==null){
fast = fast.next.next;
slow = slow.next;
}
fast = head;
slow = reverse(slow);
while(slow !== null){
if(fast.val !== slow.val){
return false;
}
fast = fast.next;
slow = slow.next;
}
return true;
};
let reverse = function(head){
let prev = null;
while(head !== null){
let temp = head.next;
head.next = prev;
prev = head;
head = temp;
}
return prev
}
【问题讨论】:
-
您的问题是什么?而且,如何测试它,您的预期输出是什么。
-
将代码放入leetcode.com/problems/palindrome-linked-list 应该结果为真。这是一个有效答案的示例terriblewhiteboard.com/palindrome-linkedlist-leetcode-234,如果粘贴到编辑器中就可以工作。我看不出我和这个答案之间的区别。
-
@Someone_who_likes_SE,不知道你指的是什么。
prev是本地的。 (此外,将window和globalThis混合使用是没有意义的。window是特定于浏览器代理的。)为什么您将评论格式化为代码?