码迷,mamicode.com
首页 > 其他好文 > 详细

[刷题] LeetCode 24 Swap Nodes in Paris

时间:2020-04-06 09:59:36      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:app   技术   play   opened   gif   head   lap   air   style   

要求

  • 给定一个链表,对于每两个相邻的节点,交换其位置

示例

  • 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

标签:app   技术   play   opened   gif   head   lap   air   style   

原文地址:https://www.cnblogs.com/cxc1357/p/12640484.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!