我写了一个链接列表实现,它由firstNode开头,并在lastNode结束。我试图颠倒它与firstNode的例外完美结合的列表。假设我在从firstNode开始到lastNode的列表中有以下几条数据:“one”,“two”,“three”,“four”,“five”。当我运行我的reverseMePlz()方法时,将显示以下内容:四个,三个,两个,一个。原来的firstNode(one)现在是lastNode,而原来的lastNode(five)并不是第一个节点,而是两个应该是第二个节点的节点正在成为第一个节点,所以本质上它删除了原本应该是第一节点的lastNode。这里是我的代码:反向链接列表不解决firstNode
public void reverseMePlz()
{
Node nextNode = null;
Node currentNode = firstNode;
while (currentNode.next != null)
{
nextNode = currentNode.next;
currentNode.next = currentNode.previous;
firstNode = currentNode;
currentNode = nextNode;
}
lastNode = currentNode;
}
这是一个双向链表吗? – Inertiatic
是的,它是双向链接的。 Node是我的列表类中的一个私有类,具有以下实例变量:T data,Node next,Node previous。 – Whoppa
虽然扭转你不改变你的'以前的' – Aditya