24. Swap Nodes in Pairs - cocoder39/coco39_LC GitHub Wiki

24. Swap Nodes in Pairs

ListNode* swapPairs(ListNode* head) {
        ListNode dummy(0);
        dummy.next = head;
        
        ListNode* p = &dummy;
        while(p->next && p->next->next){
            ListNode* tmp1 = p->next;
            ListNode* tmp2 = tmp1->next;
            ListNode* tmp3 = tmp2->next;
            
            p->next = tmp2;
            tmp2->next = tmp1;
            tmp1->next = tmp3;
            p = tmp1;
        }
        return dummy.next;
    }