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

LeetCode:Swap Nodes in Pairs

2015-03-03 13:53 169 查看


很简单的题目,主要是要注意每一组数字交换之后,组与组之间的连接

class Solution {
public:
ListNode *swapPairs(ListNode *head) {
if(!head||!head->next)
return head;
else{
ListNode *p,*q,*r;//p和q分别指向要交换的第一个和第二个元素,r用以保存上一组元素的最后一个元素
p=head->next;
q=head;
head=p;
while(p&&q)
{
q->next=p->next;
p->next=q;
if(r)
r->next=p;
r=q;
q=q->next;
if(q)//注意判断一下q是否为空,如果为空q->next出错
p=q->next;
else
break;
}
return head;
}
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: