【发布时间】:2016-08-01 01:48:12
【问题描述】:
我正在编写程序来使用递归反转双链表。 我知道如何迭代地实现。但陷入递归。
这就是我所拥有的
public static Node reverseRecurseDoubleLinkedList(Node node){
if (node==null || node.next==null)
return node;
Node newNode = reverseRecurseDoubleLinkedList(node.next);
node.next.next=node;
node.next=null;
node.prev=newNode;
return newNode;
}
我看到prev 指针设置不正确。但next 指针实际上是正确的。
谢谢
【问题讨论】:
-
@DuyAnhPham:不,不是。我要求双链表,请先阅读问题。
-
没有必要反转双头链接列表...您可以交换头部和尾部引用。
-
@Rugal:仅仅交换头部和尾部是不够的,因为每个节点的
next和prev成员都不会正确设置。