您的位置:首页 > Web前端 > Node.js

Leetcode——24. Swap Nodes in Pairs

2017-12-26 13:35 337 查看
分四种情况讨论:有0个,1个,2个和大于2个结点。

class Solution {
public:
ListNode* swapPairs(ListNode* head) {
if(head==NULL||head->next==NULL)//0或1个结点
return head;
ListNode *p=head,*q=head;
ListNode *headnext=head->next;
ListNode *tmp=p->next;
p->next=p->next->next;
tmp->next=p;
p=p->next;
if(p==NULL) return headnext;//2个结点
while (p->next!=NULL)//大于2个结点
{
ListNode *tmp=p->next;
p->next=p->next->next;
tmp->next=p;
q->next=tmp;
q=p;
p=p->next;
if(p==NULL)
break;
}
return headnext;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ leetcode 链表