回文示例:A -> B -> C -> C -> B -> A
思路
- 使用快慢指针获取中间节点
- 中间后部分进行反转
- 以后半部分为基准进行遍历来比较,例如在链表长度位偶数的情况下:
A -> B -> C -> C -> B -> A 反转得到 A -> B -> C -> C <- B <- A,以前半部分为基准的话,会出现 null指针的异常。
代码实现:
1 | class ListNode |
运行结果
1 | LinkList length: 6 |
曾梦想仗剑走天涯 看一看世界的繁华
回文示例:A -> B -> C -> C -> B -> A
1 | class ListNode |
1 | LinkList length: 6 |
WeChat Pay