[leetcode]143. Reorder List
来源:互联网 发布:mac桌面文件路径 编辑:程序博客网 时间:2024/06/05 01:13
题目链接:https://leetcode.com/problems/reorder-list/#/description
Given a singly linked list L: L0→L1→…→Ln-1→Ln,
reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…
You must do this in-place without altering the nodes' values.
For example,
Given {1,2,3,4}
, reorder it to {1,4,2,3}
.
class Solution {public: void reorderList(ListNode *head) { if (!head || !head->next) return; // find the middle node: O(n) ListNode *p1 = head, *p2 = head->next; while (p2 && p2->next) { p1 = p1->next; p2 = p2->next->next; } // cut from the middle and reverse the second half: O(n) ListNode *head2 = p1->next; p1->next = NULL; p2 = head2->next; head2->next = NULL; while (p2) { p1 = p2->next; p2->next = head2; head2 = p2; p2 = p1; } // merge two lists: O(n) for (p1 = head, p2 = head2; p1; ) { auto t = p1->next; p1 = p1->next = p2; p2 = t; } }};
阅读全文
0 0
- [LeetCode]143.Reorder List
- LeetCode 143. Reorder List
- [leetcode] 143.Reorder List
- leetcode 143. Reorder List
- 143. Reorder List LeetCode
- LeetCode 143. Reorder List
- LeetCode 143. Reorder List
- LeetCode 143. Reorder List
- LeetCode *** 143. Reorder List
- [Leetcode] 143. Reorder List
- leetcode.143. Reorder List
- LeetCode 143. Reorder List
- LeetCode-143.Reorder List
- LeetCode - 143. Reorder List
- LeetCode 143. Reorder List
- leetcode 143. Reorder List
- Leetcode 143. Reorder List
- [LeetCode] 143. Reorder List
- centos 6.5 和centos 7关于防火墙的命令
- 58 同城移动端 Passport SDK 的设计与技术细节
- 在Servlet中request.setCharacterEncoding() response.setCharacterEncoding() response.setContentType()区别
- 线程互斥(互斥量)及死锁形成
- 新概念4-3
- [leetcode]143. Reorder List
- 免密码登录linux服务器
- 编译模块后打包
- AndroidStudio2.3版本的.9.png图片的处理
- Spring Boot 集成Shiro和CAS
- PHY和MAC的区别
- JAVA的23种设计模式---装饰模式
- jQueryEasyUI Messager基本使用
- Sublime Text 3 无干扰模式