Redian新闻
>
Leetcode swap Paris 这个怎么改进?
avatar
Leetcode swap Paris 这个怎么改进?# JobHunting - 待字闺中
t*r
1
class Solution {
public:
ListNode *swapPairs(ListNode *head) {
ListNode* dummy = new ListNode(0);
dummy->next = head;
ListNode* p = head;
ListNode* prev = dummy;
while(p && p->next){
ListNode* q = p->next;
ListNode* r = p->next->next;
prev->next = q;
q->next = p;
p->next = r;
prev = p;
p = r;
}
return dummy->next;
}
};
avatar
e*5
2
//改进说不上。我自己喜欢用递归,看起来跟简洁。当然,不不知道效率如何。
ListNode *swapPairs(ListNode *head) {
if(!head||!head->next)
return head;

ListNode * first=head, *second=first->next, *temp=second->next;
ListNode * tail=swapPairs(temp);
first->next=tail;
second->next=first;

return second;
}
avatar
l*4
3
感谢分享

【在 e*********5 的大作中提到】
: //改进说不上。我自己喜欢用递归,看起来跟简洁。当然,不不知道效率如何。
: ListNode *swapPairs(ListNode *head) {
: if(!head||!head->next)
: return head;
:
: ListNode * first=head, *second=first->next, *temp=second->next;
: ListNode * tail=swapPairs(temp);
: first->next=tail;
: second->next=first;
:

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。