该题目的要求是判断一个单链表是否是回文链表,题目的难度在于O(n)时间和O(1)空间的限制。
由于单链表不能反向访问,所以不能直接通过原来的链表来判断,解题的思路是首先对原来的链表的前半部分进行判断,然后进行判断(如链表为“12344321” 反转之后为“43214321”)。想到这一点之后的实现就非常简单了,完整的代码如下所示:
class Solution {
public:
Li...
分类:
其他好文 时间:
2015-07-12 17:27:31
阅读次数:
108
题意:给个单链表,判断是否为回文。思路:有点BT,处理不好都是死循环。一般思路是,二分查找中心点,根据奇偶个元素,反置前半部分,再判断是否回文,再恢复前半部分。步骤: (1)在二分查找中心点时判断顺便反置前半部分链表。 (2)对奇偶数处理好剩下的工作。这是重点 (3)两个指针来判断是否回文。 ...
分类:
其他好文 时间:
2015-07-11 11:50:00
阅读次数:
90
Given a singly linked list, determine if it is a palindrome.该题是判断一个链表是不是回文链表。思路一:将该链表反转,然后从头开始对比节点值,时间复杂度O(n),空间复杂度O(N)思路二:利用runner pointer。很多的题目都可以利用...
分类:
其他好文 时间:
2015-07-10 21:59:38
阅读次数:
118