题目:
Given a singly linked list L: L 0→L 1→…→L n-1→L n,
reorder it to: L 0→L n →L 1→L n-1→L 2→L n-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}.
key:
1. 快慢指针 获得中点,分割成两个链表
2. 将后面一个链表反转
3.将反转后的链表插入到前一个链表里面
本文介绍了一种链表重排序算法,该算法首先通过快慢指针找到链表的中间节点,然后将其分割为两个子链表。接着,将第二个子链表进行反转操作。最后,将反转后的链表与第一个子链表交错合并,实现原地重排序,而不改变节点值。

被折叠的 条评论
为什么被折叠?



