1. Swap Nodes in Pairs

题目描述

Given a linked list, swap every two adjacent nodes and return its head.

For example,
Given1->2->3->4, you should return the list as2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

解题方法

  1. dummy node
  2. start/then node
    public ListNode swapPairs(ListNode head) {
        ListNode dummy = new ListNode(0);
        dummy.next = head;
        head = dummy;

        while(head.next != null && head.next.next != null ){
            ListNode start = head.next;
            ListNode then = head.next.next;

            head.next = then;
            start.next = then.next;
            then.next = start;

            head = start;
        }
        return dummy.next;
    }

results matching ""

    No results matching ""