Swap Nodes in Pairs
ListNode *swapPairs(ListNode *head) {
// Note: The Solution object is instantiated only once and is reused by each test case.
ListNode *prev,*cur,*next;
if(!head||!head->next)
return head;
ListNode* newhead,*pprev;
prev = head;
cur = prev->next;
pprev = NULL;
while(true){
next = cur->next;
prev->next = next;
cur->next = prev;
if(pprev)
pprev->next = cur;
else
newhead = cur;
pprev = prev;
prev = next;
if(prev&&prev->next)
cur = prev->next;
else
break;
}
return newhead;
}
浙公网安备 33010602011771号