gpt4 book ai didi

java:超出内存限制?

转载 作者:行者123 更新时间:2023-12-02 10:47:40 31 4
gpt4 key购买 nike

我在leetCode中用java写了一段代码,链接如下: https://leetcode.com/problems/reverse-linked-list/description/

显示“超出内存限制”,谁能解释一下原因吗?(您可以将我的代码粘贴到上面的链接中查看错误)

我的代码如下:

  public static class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}


public ListNode reverseList(ListNode head) {
if(head ==null)
return head;
if(head.next ==null){
return head;
}
Stack<ListNode> mStack =new Stack<>();
while(head!=null){
mStack.push(head);
head = head.next;

}
ListNode mNode = new ListNode(0);
ListNode result =mNode;
while(!mStack.empty()){
ListNode temp = mStack.pop();;
mNode.next = temp;
mNode = mNode.next;

}
return result.next;

}

最佳答案

问题是,假设输入是1->2->3。那么你将返回的是3->2->1->2->1->2.....这个循环链表在调用toString方法时会导致Memory Limit Exceeded。要解决这个问题,只需将原始头的下一个设置为空即可。

关于java:超出内存限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52435168/

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