题目:判断一个单链表是否回文链表
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/