package com.fishercoder.solutions;

import com.fishercoder.common.classes.ListNode;

/**
 * 24. Swap Nodes in Pairs
 *
 * Given a linked list, swap every two adjacent nodes and return its head.

 For example,
 Given 1->2->3->4, you should return the list as 2->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.

 */
public class _24 {
    public static class Solution1 {
        public ListNode swapPairs(ListNode head) {
            if (head == null || head.next == null) {
                return head;
            }
            ListNode second = head.next;
            ListNode third = second.next;
            second.next = head;
            head.next = swapPairs(third);
            return second;
        }
    }

}

@@ -82,324 +82,8 @@
 e;%0A%0A
-/**%0A * 24. Swap Nodes in Pairs%0A *%0A * Given a linked list, swap every two adjacent nodes and return its head.%0A%0A For example,%0A Given 1-%3E2-%3E3-%3E4, you should return the list as 2-%3E1-%3E4-%3E3.%0A%0A Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.%0A%0A */%0A
 publ

refactor 24