gpt4 book ai didi

java - 在java中创建单链表后如何返回到单链表的头部?

转载 作者:行者123 更新时间:2023-11-30 07:41:02 26 4
gpt4 key购买 nike

我正在编写一个程序,将一个数字分割成它的数字,并将数字以相反的顺序存储在链表中。但是我无法理解如何返回链表?

我尝试创建一个 head ListNode 但失败了。

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

class Solution{
int sum=123;
public ListNode sol(){
answer = new ListNode(0);
while (sum > 0) {
int digit = sum % 10;
answer= new ListNode(digit);
answer= answer.next;
sum /= 10;
}
return //////
}
}

最佳答案

这里:

answer = new ListNode(0);  

ListNode 实例是第一个元素,因此是列表的“根”。但是您的列表只是单链接的。您无法返回到上一个元素!你必须记住它是从哪里开始的!

换句话说,您有两个选择:

  • 将您的列表变成双链表(因此:每个节点都记住其前任节点)或
  • 记住那个根节点。

换句话说:当使用 answer 作为列表中的“移动指针”时,您应该执行如下操作:

root = new ListNode(0); // remember this, it is the start of the list!
answer = root;

然后您必须确保 root 保持不变!因为该引用代表(唯一!)列表数据的入口。当你失去它时,一切都失去了;-)

关于java - 在java中创建单链表后如何返回到单链表的头部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56630308/

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