我试图从极客的极客那里理解这个问题的逻辑。 有人可以帮助我理解那里提供的解决方案。
Below is the link :
http://www.geeksforgeeks.org/length-longest-palindrome-list-linked-list-using-o1-extra-space/
答案 0 :(得分:0)
prev curr next
|| || ||
\/ \/ \/
2 <- 4 <- 3 4 -> 2 ->15
这个想法是你保持三个指针,其中curr
指向反向链接列表的头部(如上所述),而next
是指向另一个链接列表的头指针向前的方向。
然后检查奇数长度回文,从prev
和next
开始比较,因为不需要检查奇数回文中的中间值。同样,如果回文是偶数,则从curr
和next
开始。最终结果是最多两次不同的检查。