public static ListNode swapPairs(ListNode head) {
        if(head == null || head.next == null) return head;
        ListNode first = head, second = head.next, next = second.next;
        second.next = first;
        first.next = swapPairs(next);
        return second;
    }