leetcode Reorder List
来源:互联网 发布:相册模板制作软件 编辑:程序博客网 时间:2024/05/16 06:51
Reorder List
Total Accepted: 2069 Total Submissions: 11880My SubmissionsGiven 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}
.
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution { public: ListNode* reverse(ListNode* head) { ListNode* prev = NULL, *cur = head, *next = NULL; while (cur != NULL) { next = cur->next; cur->next = prev; prev = cur; cur = next; } return prev; } void reorderList(ListNode *head) { if (head == NULL || head->next == NULL || head->next->next == NULL) return; ListNode *slow = head, *fast = head; while (fast != NULL && fast->next != NULL && fast->next->next != NULL) { slow = slow->next; fast = fast->next->next; } ListNode *l2 = reverse(slow->next), *l1 = head, *l1next = NULL, *l2next = NULL; slow->next = NULL; while (l2 != NULL) { l1next = l1->next; l1->next = l2; l2next = l2->next; l2->next = l1next; l1 = l1next; l2 = l2next; } } };
Reverse the second half string.
- [leetcode][list] Reorder List
- [leetcode][list] Reorder List
- Leetcode: Reorder List
- [LeetCode] Reorder List
- LeetCode题解:Reorder List
- Leetcode: Reorder List
- LeetCode:Reorder List
- leetcode之Reorder List
- Leetcode: Reorder List
- [LeetCode]Reorder List
- [LeetCode] Reorder List
- leetcode Reorder List
- LeetCode | Reorder List
- LeetCode Reorder List
- LeetCode 之 Reorder List
- Leetcode: Reorder List
- LeetCode OJ:Reorder List
- Reorder List (LeetCode)
- tslib编译与安装-----arm----交叉编译
- 一定要用数组标记|xi-xj|,不然会超时
- erb文件与rhtml文件的区别
- HDU 2019 - 数列有序 ( 插入排序 )
- uva 10269 - Adventure of Super Mario(Floyd + Dijkstra + dp)
- leetcode Reorder List
- ubuntu中的VI编辑器insert模式,按上下左右键显示ABCD字母
- 用SecureRDP限制指定的计算机名,MAC,IP才能登陆服务器的远程桌面
- 班级学生德育量化管理系统_德育积分学分考核系统_学生操行日常行为规范考核系统
- linux系统的7种运行级别
- UITableView
- Spring Batch 之 框架流程简单介绍(二)
- POJ1700:Crossing River
- 给我一篇假论文,我能骗倒半个地球