24. Swap Nodes in Pairs
来源:互联网 发布:飞机票网上预订软件 编辑:程序博客网 时间:2024/06/03 21:56
Given a linked list, swap every two adjacent nodes and return its head.
For example,
Given 1->2->3->4
, you should return the list as 2->1->4->3
.
Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.
这道题不许使用额外的空间,也不许改变节点的val值,因此只能通过指针操作来交换。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* swapPairs(ListNode* head) { if (head == NULL) return NULL; if (head->next == NULL) return head; ListNode dummyNode = ListNode(0); ListNode* dummy = &dummyNode; dummy->next = head; ListNode* pre = dummy; ListNode* a = head; ListNode* b = head->next; head = head->next; while(1) { a->next = b->next; b->next = a; pre->next = b; if (a->next == NULL) break; if (a->next->next == NULL) break; b = a->next->next; a = a->next; pre = pre->next->next; } return head; }};
阅读全文
0 0
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24.Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- 24. Swap Nodes in Pairs
- int ,long , long long类型的范围
- 10月集训test6
- 相机自动标定开发-第三阶段
- web项目中 .js .css .png 等文件无法加载的一种原因
- python字符串操作学习小结
- 24. Swap Nodes in Pairs
- 事件分发机制
- 2017-10-16-Mysql的常用数据类型
- C#226课的主要内容
- tf.shape和get_shape()
- 继承自AppCompatActivity崩溃闪退问题定位
- iOS11下 IQKeyBoardManager完成按钮不显示---- 解决方案
- fastboot oem unlock
- Mysql架构MMM,MHA