[刷题] LeetCode 24 Swap Nodes in Paris
Posted cxc1357
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[刷题] LeetCode 24 Swap Nodes in Paris相关的知识,希望对你有一定的参考价值。
要求
- 给定一个链表,对于每两个相邻的节点,交换其位置
示例
- 1->2->3->4->NULL
- 2->1->4->3->NULL
实现
1 struct ListNode { 2 int val; 3 ListNode *next; 4 ListNode(int x) : val(x), next(NULL) {} 5 }; 6 7 class Solution { 8 public: 9 ListNode* swapPairs(ListNode* head) { 10 ListNode* dummyHead = new ListNode(0); 11 dummyHead->next = head; 12 13 ListNode* p = dummyHead; 14 while( p->next && p->next->next ){ 15 ListNode* node1 = p->next; 16 ListNode* node2 = node1->next; 17 ListNode* next = node2->next; 18 19 node2->next = node1; 20 node1->next = next; 21 p->next = node2; 22 23 p = node1; 24 } 25 26 ListNode* retNode = dummyHead->next; 27 delete dummyHead; 28 29 return retNode; 30 } 31 };
相关
- 25 Reverse Nodes in k-Group
- 147 Insertion Sort List
- 148 Sort List
以上是关于[刷题] LeetCode 24 Swap Nodes in Paris的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode 24 Swap Nodes in Pairs
Leetcode-24 Swap Nodes in Pairs
LeetCode(24) - Swap Nodes in Pairs
LeetCode 24 Swap Nodes in Pairs