为什么我在 Javascript 中收到错误"Output Limit Exceeded"?



我正试图解决LinkedList在leetcode上的问题,但在86测试用例中,74用例通过了,但在75,我得到了一个错误Output Limit Exceeded

问题:

Given the head of a singly linked list, return true if it is a palindrome.

例子:

Input: head = [1,2,2,1]
Output: true
Input: head = [1,2]
Output: false

我代码:

let array = [];
let list = head;
while (list) {
array.push(list.val)
console.log("array1", array)
list = list.next;
}
let list2 = head;
while (list2) {
let out = array.pop()
if (out === list2.val) {
list2 = list2.next;
} else {
return false
}
}
return true

Last executed input:[3、8、9、3、2,8,9,1,8,9,9日8日5、2、5、4、4、4、3、9、7、5、0、5、8、6、3、3、8 0,7日,3、7、7、1、1、1、7 0,2,8,1,8日,7日,9日,5日,2日,9日,7日,4,8日…]

我不明白为什么我得到一个Limit exceeded error?是因为输入太多吗?还是问题在我的代码中?如果问题是输入,那么我如何在Javascript中解决这个问题?

console.log被LeetCode框架捕获,并且当您的第一个循环在每次迭代中调用它时,这会显着减慢进程。

console.log去掉。

作为后续:尝试找到一个不将每个值复制到数组中的解决方案,这需要O(n)额外的空间。相反,请尝试使用O(1)个额外空间。

相关内容

  • 没有找到相关文章

最新更新