LeetCode Swap Nodes in Pairs
2013-12-10 18:18
225 查看
ListNode *swapPairs(ListNode *head) { ListNode *head2=NULL,*p=NULL,*q=NULL,*s=NULL; p = head; if (p==NULL||p->next==NULL) return p; while(p!=NULL&&p->next!=NULL) { s = p->next; p->next = s->next; p = p->next; if (head2==NULL) { head2 = s; q = head2; } else { q->next = s; q = q->next; } } if (q!=NULL) q->next = NULL; ListNode *head3=NULL; s = head3; while(head!=NULL&&head2!=NULL) { p = head2; q = head; head = head->next; head2 = head2->next; if(head3==NULL) { head3 = p; head3->next = q; s = head3->next; } else { s->next = p; p->next = q; s = q; } } if (head==NULL) s->next = head2; if(head2==NULL) s->next = head; return head3; }
ListNode *l1 = new ListNode(1); ListNode *l2 = new ListNode(2); ListNode *l3 = new ListNode(3); ListNode *l4 = new ListNode(4); ListNode *l5 = new ListNode(5); ListNode *l6 = new ListNode(6); ListNode *l7 = new ListNode(7); ListNode *l8 = new ListNode(8); ListNode *l9 = new ListNode(9); l1->next = l2; l2->next = l3; l3->next = l4; l4->next = l5; l5->next = l6; l6->next = l7; l7->next = l8; l8->next = l9; ListNode *head3=NULL; head3 = swapPairs(l1); ListNode *h=head3; while(h!=NULL) { cout<<h->val<<" "; h = h->next; }
相关文章推荐
- (Java) LeetCode 24. Swap Nodes in Pairs —— 两两交换链表中的节点
- LeetCode - Swap Nodes in Pairs
- [leetcode]24. Swap Nodes in Pairs
- LeetCode:Swap Nodes in Pairs
- 【leetcode】【24】Swap Nodes in Pairs
- Leetcode - Swap Nodes in Pairs
- Leetcode Swap Nodes in Pairs
- Leetcode Swap Nodes in Pairs
- 【leetcode】24. Swap Nodes in Pairs
- Leetcode——24. Swap Nodes in Pairs
- **LeetCode 24. Swap Nodes in Pairs
- [LeetCode]24. Swap Nodes in Pairs
- LeetCode | Swap Nodes in Pairs
- 【LeetCode】24. Swap Nodes in Pairs
- LeetCode:Swap Nodes in Pairs
- leetCode 24. Swap Nodes in Pairs (双数交换节点) 解题思路和方法
- [Leetcode]Swap Nodes in Pairs
- LeetCode 24. Swap Nodes in Pairs
- LeetCode-- Swap Nodes in Pairs
- LeetCode OJ Swap Nodes in Pairs