gpt4 book ai didi

java - 我该怎么做才能获取堆栈的元素并将它们添加到单个链表中?

转载 作者:行者123 更新时间:2023-12-01 10:31:14 26 4
gpt4 key购买 nike

我对 listNode 有以下定义

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

我有一个包含一定数量整数的堆栈(称为 valueStack 的变量)。我想以先进后出的顺序从堆栈中获取值,并使用这些值创建一个链接列表。这就是我现在所拥有的,但它不断覆盖值并最终在链接列表中只有一个元素。这是因为我不断将 revList 重新分配给 revList.next 但我不知道还能怎么做:

    ListNode revList = new ListNode(valueStack.pop());
while (!valueStack.isEmpty()){
ListNode toAdd = new ListNode (valueStack.pop());
revList.next = toAdd;
revList = revList.next;
}

最佳答案

if (stack.isEmpty())
return null; // ??? how are you representing an empty list?
ListNode first = new ListNode(stack.pop());
ListNode last = first;
while (!stack.isEmpty())
last = last.next = new ListNode(stack.pop());
return first;

这就是帕特里夏使用 2 个变量的意思。

线路

last = last.next = new ListNode(stack.pop());

只是这两行的缩写

last.next = new ListNode(stack.pop());
last = last.next;

请注意,如果您使用这两行,则 while 循环需要大括号 {}

关于java - 我该怎么做才能获取堆栈的元素并将它们添加到单个链表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35071711/

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