题意:给出一个链表,链表的节点成对交换,也就是1和2换,3和4换。。。n - 1和n换。
题解:模拟即可,增加一个虚拟头结点。
class Solution {
public:
ListNode* swapPairs(ListNode* head) {
ListNode *t = new ListNode(0);
ListNode *temp;
t->next = head;
temp = t;
while(temp->next && temp->next->next)
{
ListNode *tt = temp->next;
ListNode *ttt = temp->next->next;
temp->next = ttt;
tt->next = ttt->next;
ttt->next = tt;
temp = temp->next->next;
}
return t->next;
}
};