在做链表题的时候,要用一个伪头指针,这样会方便链表的操作,这种方式叫做哨兵模式。
    单链表:

    1. public static Node reverseLinkedList(Node head) {
    2. Node pre = null;
    3. Node next = null;
    4. while (head != null) {
    5. next = head.next;
    6. head.next = pre;
    7. pre = head;
    8. head = next;
    9. }
    10. return pre;
    11. }

    双链表:

    1. public static DoubleNode reverseDoubleList(DoubleNode head) {
    2. DoubleNode pre = null;
    3. DoubleNode next = null;
    4. while (head != null) {
    5. next = head.next;
    6. head.next = pre;
    7. head.last = next;
    8. pre = head;
    9. head = next;
    10. }
    11. return pre;
    12. }