1. // 反转单链表
    2. public static Node ReverseList(Node head) {
    3. Node next = null ; // 保留节点后驱
    4. Node pre = null; // 保留节点前驱
    5. while(head != null){
    6. next = head.next;
    7. head.next = pre;
    8. pre = head;
    9. head = next;
    10. }
    11. return pre;
    12. }
    13. // 翻转双链表
    14. public static DoubleNode reverseDoubleList(DoubleNode head) {
    15. DoubleNode pre = null;
    16. DoubleNode next = null;
    17. while (head != null) {
    18. next = head.next;
    19. head.next = pre;
    20. head.last = next;
    21. pre = head;
    22. head = next;
    23. }
    24. return pre;
    25. }