//不熟啊不熟,链表...next指针要先改,然后再是指向node本身的指针
/**
* 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 ret(0);
//ret.next=head;
if(head==NULL||head->next==NULL)return head;
ListNode *p=head;//&ret;
ListNode *pre=p->next;
head=pre;
ListNode *prepre=p;
while(p&&pre)
{
//prepre->next=pre;
p->next=pre->next;
pre->next=p;
prepre=p;
p=p->next;
if(p==NULL)break;
else
pre=p->next;
}
//return ret.next;
return head;
}
};
122

被折叠的 条评论
为什么被折叠?



