143. Reorder List**
来源:互联网 发布:财务预算软件 编辑:程序博客网 时间:2024/06/06 11:44
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}
.
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
- 添加本地jar包到maven仓库
- POJ 1125 Stockbroker Grapevine
- SMP,NUMA,MPP
- [深度学习] 增加样本——弹性变换算法实现
- linux驱动开发中的互斥机制与irq下半部处理机制
- 143. Reorder List**
- ASP.NET Aries 入门开发教程3:开发一个列表页面及操控查询区_0
- Java程序:汉诺塔
- 笔记:对话框太大,超出屏幕范围,导致找不到“确定”按钮,如何解决?
- NoSql介绍与分布式Mongo
- 最小二乘网格优化
- 通过 Grub 来引导启动 UBUNTU
- Zurmo(十二)之官网的zurmozoo例子
- 人脸识别算法调研