如何删除链表开头的节点?

时间:2018-05-05 15:02:49

标签: java data-structures linked-list queue nodes

我有这个清单:[ 5,3 ,5, 5,3 ,7,7, 5,3 ,2] 每次我在列表中有一个与给我的队列相同的序列时我需要删除 - 例如队列[exit- 5,3 -enter]我的函数返回 [5,3,5,7,7,2 - > null]但我希望它是[5,7,7,2 - > null]。 我还想提一下,当我谈论链表时,我实际上是指一个节点列表 -

Node<Integer> lis

(它有一个值和指向下一个节点的指针)。我已经完成了我提到的功能,但如果序列出现在列表的开头 - 我已经提到过,因为我不知道如何从列表的开头删除,我做了什么不起作用。我知道如何删除一个节点,我只是引用下一个节点,并保留它没有引用,但我的函数获取列表的主要引用的副本

 public static void removeAppear(Node<Integer> n,Queue<Integer> q){

所以,如果我愿意写:

n=n.getNext();

例如它实际上不会删除第一个节点,并且从void main方法我仍然会看到第一个节点。如果你需要我说的功能,但我真的只需要知道如何删除第一个节点。如果它是一个基本问题,但我对编程很新。

1 个答案:

答案 0 :(得分:0)

您不能改变链接列表以删除前导节点,除非您不再将您的功能视为“更改列表”并开始将其视为“返回与原始列表不同的新列表”。然后它可以返回对最初不是第一个节点的节点的引用。