// 反转单链表
public static Node ReverseList(Node head) {
Node next = null ; // 保留节点后驱
Node pre = null; // 保留节点前驱
while(head != null){
next = head.next;
head.next = pre;
pre = head;
head = next;
}
return pre;
}
// 翻转双链表
public static DoubleNode reverseDoubleList(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;
}