143. Reorder List
来源:互联网 发布:plc200仿真软件 编辑:程序博客网 时间:2024/06/05 13:29
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}
.
主要考察对链表的熟悉程度,画个图就比较好理解了
三步:1.将链表从中点断开 2.将第二段链表翻转 3.merge
中间边界条件调试了许久...
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: void reorderList(ListNode* head) { if(!head||!head->next) return; ListNode *slow=head,*fast=head; while(fast->next&&fast->next->next){ slow=slow->next; fast=fast->next->next; } ListNode *mid=slow->next; slow->next=NULL; ListNode *p=NULL; while(mid){ ListNode *t=mid; mid=mid->next; t->next=p; p=t; } mid=p; p=head; while(p&&mid){ ListNode *t1=p->next; ListNode *t2=mid->next; p->next=mid; mid->next=t1; p=t1; mid=t2; } }};
阅读全文
0 0
- [LeetCode]143.Reorder List
- LeetCode 143. Reorder List
- 143. Reorder List
- [leetcode] 143.Reorder List
- 143. Reorder List
- 143. Reorder List
- leetcode 143. Reorder List
- 143. Reorder List LeetCode
- 143. Reorder List
- LeetCode 143. Reorder List
- 143. Reorder List
- 143. Reorder List
- LeetCode 143. Reorder List
- LeetCode 143. Reorder List
- 143. Reorder List
- 143. Reorder List
- LeetCode *** 143. Reorder List
- 143. Reorder List
- 图形用户界面-3
- Js的reduce()方法
- 【转】关于lua table的C API
- tomcat启动报错invalid LOC header (bad signature)
- Android 网络请求框架汇总
- 143. Reorder List
- MySQL 字符串截取函数
- Caffe MNIST训练lenet网络
- 关于C#线程中使用定时器timer无效
- tcc-transaction分布式TCC型事务框架搭建与使用记录
- tensorflow分布式运行时组件剖析
- 使用ES5实现私有非单例属性
- maven命令安装第三方jar包到本地仓库和私服
- Spring Boot学习(七)之Web应用使用jdbctemplate多数据源配置