考察链表操作。
class Solution { public: ListNode* swapPairs(ListNode* head) { if (head==NULL) return NULL; if (head->next==NULL) return head; ListNode *preHead=new ListNode(0); preHead->next=head; ListNode *m=head->next; ListNode *t=preHead; while(head){ head->next=m->next; m->next=head; t->next=m; if (head->next)head=head->next; else break; m=m->next; m=m->next; if (m->next==NULL) break; m=m->next; t=t->next; t=t->next; } return preHead->next; } };