leetcode24
LeetCode24 ————-Swap Nodes in Pairs
简单来说就是将链表节点两两互换,但是是不重复的。
主要是链表的操作,比较简单,注意头结点就好。
代码:
class Solution {
private:
void mySwap(ListNode *p,ListNode*r)
{
if (p->next==NULL||r->next == NULL)
return;
p->next = r->next;
p = p->next;
r->next = p->next;
p->next = r;
mySwap(p->next, r->next);
}
public:
ListNode* swapPairs(ListNode* head) {
if (head == NULL||head->next == NULL)
return head;
ListNode*p = head;
ListNode*r = head->next;
p->next = r->next;
r->next = p;
p = r;
r = r->next;
head = p;
p = r;
r = r->next;
mySwap(p ,r );
return head;
}
};
还没有评论,来说两句吧...