我使用队列制作了链表,但我需要一个方法的帮助
public class QueueLinkedList{
private Node first;
private Node last;
public QueueLinkedList(){
first = null;
last = null;
}
class Node{
public Object data;
public Node next;
}
...
public void lastToFirst(){
Node newNode = new Node();
newNode.data = last.data;
newNode.next = first;
first = newNode;
last = null;
}
我添加了“1”,“2”,“3”,“4”,并称为lastToFirst,
并打印。
我的期望值是4123
但它给了我41234。
如何删除最后一个值4?
答案 0 :(得分:1)
通过向public Node prev;
类引入Node
并执行last.prev.next = null
或从first
开始执行线性扫描,将其设为双链表,搜索对于具有node.next == last
的节点,并将该节点的next
属性更改为null。