题目:判断一个单链表是否回文链表

2018-04-13 09:55:18 浏览数 (1)

题目:判断一个单链表是否回文链表

Given a singly linked list, determine if it is a palindrome. Could you do it in O(n) time and O(1) space?

分析:

判断是否回文 定义两个指针

begin:指向第一个位置 R

end 指向最后一个位置 R

然后

begin ;

end--;

1 end-- 因为单链表不可逆转 如何end 倒转功能 利用函数栈 变化在函数传递中 2 begin 变化在函数内部 因此采取 采取二级指针

recursive call. 1) Sub-list is palindrome. 2) Value at current left and right are matching.

代码:

3 演示过程

函数调用层次

第一次比较

1 beging 指向 head R end 指向 head R 直到end移动最后一个元素

2 退上一层 第二个元素 和倒数第二个元素

有点模糊

执行结果:

https://leetcode.com/submissions/detail/100664863/

0 人点赞