LeetCode - Reorder List
来源:互联网 发布:大数据概念的首次提出 编辑:程序博客网 时间:2024/05/17 23:48
Reorder List
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}
.
#include <iostream>#include <vector>using namespace std;struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}};class Solution { public: void reorderList(ListNode *head) {if (!head) return;int length = 0;vector<ListNode *> vecList;ListNode *trace = head;while (trace) { vecList.push_back(trace); trace = trace->next; length++;}int start = 0;int tail = length - 1;while (start < tail) { vecList[start]->next = vecList[tail]; vecList[tail]->next = vecList[start+1]; start++; tail--;}vecList[start]->next = NULL; }};int main(){ ListNode *head = new ListNode(1); ListNode *trace = head; trace->next = new ListNode(2); trace = trace->next; trace->next = new ListNode(3); trace = trace->next; trace->next = new ListNode(4); trace = head; while (trace) {cout << trace->val << endl;trace = trace->next; } Solution *so = new Solution(); so->reorderList(head); trace = head; while (trace) {cout << trace->val << endl;trace = trace->next; } return 0;}
0 0
- [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)
- spring事务管理时一个奇怪的问题,已解决,原理不明
- 无法打开包括文件error: Box2D.h: No such file or directory
- Linux安装Oracle 11g服务器(图文)
- Grunt打造前端自动化工作流
- struts2上传文件
- LeetCode - Reorder List
- python defaultdict
- Hadoop增加节点比较
- poj_2362
- poj1753 Flip Game BFS+位运算
- 连接数超上限
- beyond compare添加进右键
- 在mini2440上移植运行2.6.36.4
- 系统设计黄金法则:简单之美