Palindrome Linked List
Given a singly linked list, determine if it is a palindrome.
Example 1
1 | Input: 1->2 |
Example 2
1 | Input: 1->2->2->1 |
解题思路
先找到链表中点,用快慢指针;再将链表后半部分反转;最后遍历前后部分,查看两部分是否相同。
复杂度分析
- 时间复杂度:$O(n)$,反转链表时间复杂度为 $O(n)$。
- 空间复杂度:$O(1)$,反转链表空间复杂度为 $O(1)$。
代码
1 | class Solution { |