要求:如题
思路:注意最后要接上
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* swapPairs(ListNode* head) {
ListNode *h=new ListNode(1,head);
ListNode *p1=head,*p2,*pre=h;
while(p1&&p1->next){
p2=p1->next;
pre->next=p2;
pre=p1;
p1=p2->next;
p2->next=pre;
}
pre->next=p1?p1:nullptr;
return h->next;
}
};