LinkedList将最后一个元素移动到第一个元素

时间:2015-11-02 00:15:21

标签: java queue

我使用队列制作了链表,但我需要一个方法的帮助

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?

1 个答案:

答案 0 :(得分:1)

通过向public Node prev;类引入Node并执行last.prev.next = null或从first开始执行线性扫描,将其设为双链表,搜索对于具有node.next == last的节点,并将该节点的next属性更改为null。