链接:https://oj.leetcode.com/problems/swap-nodes-in-pairs/
交换链表相邻的节点的位置
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode *swapPairs(ListNode *head) { ListNode *ans=new ListNode(0); ans->next=head; head=ans; //添加哨兵 if(ans->next==NULL||ans->next->next==NULL) return ans->next; ans=ans->next->next; while(head->next&&head->next->next) { ListNode *last=head->next->next; head->next->next=last->next; last->next=head->next; head->next=last; head=last->next; } return ans; } };