多语言展示
当前在线:335今日阅读:100今日分享:18

Java详解如何判断一个单向链表是否是回文链表

题目:给定一个单向无环链表,开发一个算法,判断该链表是否是回文链表。
工具/原料
1

Eclipse

2

JDK1.8

方法/步骤
1

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

2

实现算法,算法思想:1. 获取原始链表的中间节点,并断链,将链表平分为两个链表。2. 将后一个链表的反转。3. 逐个节点比较两个链表,直到某个链表遍历完毕。图示,通过快矿敏娃慢指针算法,获取一条单向链表的中间节点。

3

编写一个函数,通过递归调用,将一条单向无环链表反转。

4

编写一个函数,逐个节点遍历判断两个链表是否相等,直到前一个链表遍历完趴柱毕,注意,两条链表长度相等,或者前一个救救链表较短。

6

编写一个函数,可将一条单向无环链表转变为一个字符串,用于辅助本地测试。

7

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

8

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

注意事项

对于空链表和只包含一个节点的链表,默认为回文链表

推荐信息