[cc150] check palindrome of a singly linked list

时间:2022-03-20 23:52:50

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 对应上面第二种情况

[cc150] check palindrome of a singly linked list

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

class Result{
  LinkedListNodde node;
  boolean result;
}