多语言展示
当前在线:1076今日阅读:26今日分享:39

详解如何将链表按照首尾节点交错的方式重排

题目:给定一条单向无环链表,按照首尾节点交错的方式对链表重排,比如原始链表的结构为:L0->L1->L2...->Ln-1->Ln ,重排后的链表结构为:L0->Ln->L1->Ln-1->L2...。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

编写一个表示链表节点的静态内部类,通过该类对象可以构建一条单向链表结构。

2

编写一个工具函数,通过该函数,可以将一条链表结构进行翻转。

3

实现算法,步骤如下:1. 通过快慢指针获取到链表中间节点,断链,将链表分为左右两部分;2. 将右部分子链表翻转;3. 将左子链表和翻转后的右子链表重新链接为一条新链表即可。

4

编写一个工具函数,可在控制台输出链表结构,用于辅助本地测试。

5

编写本地测试主方法。

6

运行本地测试主方法,观察控制台输出,符合预期,本地测试通过。

7

平台提交算法,测试通过。

注意事项

只能通过移动原链表节点完成操作。

推荐信息