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; }
[cc150] check palindrome of a singly linked list
时间: 2024-10-11 11:08:22