Palindrome LinkedList双指针

这也是一道非常古老,经典的面试题。

Palindrome LinkedList双指针_第1张图片

这题的难点在于是一个singly linkedlist. c-->a-->b-->b->a-->c

你没有办法双指针一个往左一个往右来判定是不是palindrome.

简单的办法是先遍历一遍,save 成一个String, 然后判断。

在做这道题的时候发现, int 和 int 比较的时候,如果数字大于127就要使用equals来比较value.

O(n) time, O(n) space.


Palindrome LinkedList双指针_第2张图片

看到论坛这道题的解决方案是reverse second half linkedlist. 然后用双指针。一个从start,一个从middle开始走。

你可能感兴趣的:(Palindrome LinkedList双指针)