143. Reorder List
来源:互联网 发布:hibernate注解sql 编辑:程序博客网 时间:2024/06/08 18:54
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}.
思路很清晰 找到中点 反转后半部分 然后reorder
代码稍微比solution复杂点 以下是solution
public void reorderList(ListNode head) { if(head==null||head.next==null) return; //Find the middle of the list ListNode p1=head; ListNode p2=head; while(p2.next!=null&&p2.next.next!=null){ p1=p1.next; p2=p2.next.next; } //Reverse the half after middle 1->2->3->4->5->6 to 1->2->3->6->5->4 ListNode preMiddle=p1; ListNode preCurrent=p1.next; while(preCurrent.next!=null){ ListNode current=preCurrent.next; preCurrent.next=current.next; current.next=preMiddle.next; preMiddle.next=current; } //Start reorder one by one 1->2->3->6->5->4 to 1->6->2->5->3->4 p1=head; p2=preMiddle.next; while(p1!=preMiddle){ preMiddle.next=p2.next; p2.next=p1.next; p1.next=p2; p1=p2.next; p2=preMiddle.next; }}
阅读全文
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
- 购物车列表案例
- java 常见性能优化策略分类
- Android Studio APP 点击多个按钮,用switch语句写响应事件。
- bzoj 4320: ShangHai2006 Homework
- 如何在xampp下运行php文件
- 143. Reorder List
- scrapy爬取链接
- 安装破解matlab2016a
- CVPR17最佳论文-densenet 及 resnet :为什么可以消除梯度反向传播的梯度弥散问题
- Spring的IOC和DI的区别
- ElasticSearch suggester
- Prometheus+Grafana搭建监控系统(一)
- selenium实战一:播放音悦台高清Mv
- RMAN--跨平台传输表空间