LintCode 223: Palindrome Linked List
Palindrome Linked List Implement a function to check if a linked list is a palindrome. Example Example 1: Input: 1->2->1 output: true Example 2: Input: 2->2->1 output: false Challenge Could you do it in O(n) time and O(1) space? 解法1: 我用的stack。 注意: 1)奇数和偶数,midIndex都是len/2 - 1。 但奇数的midIndex要从midIndex后面2个开始。 2) 求链表的中点也可以用快慢指针法。 代码如下: /** * Definition of singly-linked-list: * class ListNode { * public: * int val; * ListNode *next; * ListNode(int val) { * this->val = val; * this->next = NULL; * } * } */ class Solution { public : /** * @param head: A ListNode. * @return: A boolean. */ bool