Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Definition for singly-linked list.
- * struct ListNode {
- * int val;
- * ListNode *next;
- * ListNode(int x) : val(x), next(NULL) {}
- * };
- */
- void swap(ListNode* A, ListNode* B, ListNode* C, ListNode* last){
- A->next = C;
- B->next = A;
- last->next = B;
- }
- ListNode* solve(ListNode* input){
- ListNode *last = new ListNode(0);
- ListNode *ans = last;
- ListNode *A, *B, *C;
- last->next = input;
- while(last->next != NULL and last->next->next != NULL){
- A = last->next;
- B = A->next;
- C = B->next;
- swap(A, B, C, last);
- last = A;
- }
- return ans->next;
- }
- ListNode* Solution::swapPairs(ListNode* A) {
- if(A == NULL or A->next == NULL) return A;
- return solve(A);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement