首页 > 代码库 > [cc150] check palindrome of a singly linked list

[cc150] check palindrome of a singly linked list

Problem: Implement a function to check if a singly linked list is a palindrome.

思路:

最简单的方法是 Reverse and compare. 

另外一种非常经典的办法是用 Recursive 的思路,把一个list看成这种形式:

0 ( 1 ( 2 ( 3 ) 2 ) 1 ) 0

0 ( 1 ( 2 ( 3 3 ) 2 ) 1 ) 0

CC150里面给出的Code,非常简洁,贴在下面:

length == 1 对应上面第一种情况

length == 2 对应上面第二种情况

其中用到了一个Wrapper class ‘Result‘, 因为Java不支持返回值传两个变量。

class Result{  LinkedListNodde node;  boolean result;}