多语言展示
当前在线:1139今日阅读:84今日分享:32

详解如何翻转链表中一段指定区间内的子链表

题目:给定一条链表,指定一个区间(起始节点和终止节点),实现一个算法,翻转这段区间内的子链表,并返回结果链表的头节点。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

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

2

编写一个工具函数,用于翻转一条单向链表结构,该函数会返回翻转后的链表头节点。

3

实现算法,步骤如下:1. 遍历原始链表,通过指定的起始节点和终止节点,通过断链操作,将链表分为三部分:左侧子链表,待翻转子链表,以及右侧子链表;2. 调用工具函数,将上面获取的待翻转子链表进行翻转;3. 将左侧子链表,翻转后的子链表以及右侧子链表重新链接为新链表,返回。

4

编写一个工具函数,可将一条链表结构打印到控制台,用于辅助本地测试。

5

编写本地测试主方法。

6

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

7

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

注意事项

算法需通过移动原始节点来完成操作,不能通过拷贝创建新节点来实现。

推荐信息