题目:请编写算法判断链表是否为回文链表。如果是返回 true ;否则返回 false。要求:空间复杂度为O1并请分析程序的时间性能。例子1:Input 1 2Output false例子2:Input 1 2 2 1Output true例子3:Input 1 2 3 2 1Output true
算法思路:
-
使用快慢指针找到链表的中点。
-
反转链表的后半部分。
-
比较链表的前半部分和后半部分是否相等。
-
恢复链表。
时间复杂度:O(n),其中 n 是链表的长度。
空间复杂度:O(1)。
实现代码:
原文地址: https://www.cveoy.top/t/topic/01N 著作权归作者所有。请勿转载和采集!