反转双向链表
问题
给你一条双向链表。请使用一趟扫描完成反转。
代码
// 双向链表
public static class DoubleNode {
int value;
DoubleNode last;
DoubleNode next;
public DoubleNode(int value) {
this.value = value;
}
}
// 反转双向链表
public static DoubleNode reverseList(DoubleNode head) {
DoubleNode pre = null;
DoubleNode next = null;
while (head != null) {
next = head.next;
head.next = pre;
head.last = next;
pre = head;
head = next;
}
return pre;
}