143. Reorder List
来源:互联网 发布:我的世界怎么做js 编辑:程序博客网 时间:2024/06/07 18:32
本题比较难想,关键是要找到思路。思路是按照三步来,
1.找到中间节点,断开。
2.把后半截单链表 反转一下一下。
3.再合并两个单链表。
public void reorderList(ListNode head) {
if(head==null){
return;
}
ListNode slow=head;
ListNode fast=head;
while(fast.next!=null && fast.next.next!=null){
slow=slow.next;
fast=fast.next.next;
}
ListNode second=slow.next;
slow.next=null;
second=reverse(second);
ListNode first=head;
while(second!=null){
ListNode firstNext=first.next;
ListNode secondNext=second.next;
first.next=second;
second.next=firstNext;
first=firstNext;
second=secondNext;
}
}
public ListNode reverse(ListNode head){
ListNode prev=null;
ListNode next=null;
while(head!=null){
next=head.next;
head.next=prev;
prev=head;
head=next;
}
return prev;
}
阅读全文
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
- 常用的linux指令
- 工程中添加新字体!
- http通讯协议过程
- JZ2440开发板直连电脑实现三者互PING
- 【传智播客郑州校区】支持长连接的WebSocket协议
- 143. Reorder List
- Linux中vi/vim安装及使用方法
- EasyAR开发技巧---模型交互操作
- hdu6199(此题是搜索但是阔以改成dp的)
- 笔记:mysql修改数据表表名sql语句。
- 9月13号某公司一道有趣面试题
- Mysql的执行顺序
- liferay获取媒体库图片
- 自己整理的几个C面试小题