Swap List Nodes in Pairs
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
ListNode* Solution::swapPairs(ListNode* A) {
ListNode* dummy = new ListNode(0);
dummy -> next = A;
ListNode* prev = dummy;
ListNode* current = prev -> next;;
while(current != NULL && current -> next != NULL) {
ListNode* next = current -> next;
current -> next = next -> next;
next -> next = current;
prev -> next = next;
prev = current;
current = prev -> next;
}
return dummy -> next;
}
Last updated