[刷题] 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 };
View Code

相关

  • 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

Leetcode24. Swap Nodes in Pairs

Leetcode24. Swap Nodes in Pairs