[Leetcode] #143 Reorder List
来源:互联网 发布:淘宝客复制别人的商品 编辑:程序博客网 时间:2024/05/16 08:45
Discription:
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}
.
Solution:
void reorderList(ListNode* head) {if (head == NULL || head->next == NULL) return ;ListNode *pslow = head;ListNode *pfast = head;while (pfast->next && pfast->next->next){pslow = pslow->next;pfast = pfast->next->next;}ListNode *last= pslow->next;pslow->next = NULL;ListNode *pre = NULL;while (last){ListNode *post = last->next;last->next = pre;pre = last;last = post;}ListNode *node1 = head, *node2 = pre;while (node2 != NULL){ListNode *tmp1 = node1->next;ListNode *tmp2 = node2->next;node1->next = node2;node2->next = tmp1;node1 = tmp1;node2 = tmp2;}}
附:Leetcode源代码见我的GitHub
0 0
- LeetCode(143)Reorder List
- LeetCode 143 Reorder List
- LeetCode: Reorder List [143]
- [leetcode 143] Reorder List
- [LeetCode 143]Reorder List
- leetcode || 143、Reorder List
- [leetcode] #143 Reorder List
- Reorder List - LeetCode 143
- Leetcode[143]-Reorder List
- 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-Reorder List-143
- Leetcode Reorder List 143
- [Leetcode] #143 Reorder List
- [leetcode]442. Find All Duplicates in an Array
- ScrollView嵌套ListView显示不完全、嵌套TextView不能滚动解决办法
- systemverilog语法(七)
- ueditor Uncaught ReferenceError: errorHandler is not defined解决办法
- 散列表解释
- [Leetcode] #143 Reorder List
- 区域学习简介
- MFC中自定义消息的实现
- Maven的作用通俗介绍
- ImageView阴影和图层效果
- 美团推荐算法实践
- 夕拾算法进阶篇:24)二叉树排序树
- 斐讯K2 22.4.5.39等带自动重启固件 路由器开启telnet
- 贪心算法之区间调度问题