使用O(1)额外空间的链表中最长回文列表的长度

时间:2017-04-10 20:30:57

标签: data-structures

我试图从极客的极客那里理解这个问题的逻辑。 有人可以帮助我理解那里提供的解决方案。

Below is the link :
  http://www.geeksforgeeks.org/length-longest-palindrome-list-linked-list-using-o1-extra-space/

1 个答案:

答案 0 :(得分:0)

      prev curr next
       ||   ||   ||
       \/   \/   \/
   2 <- 4 <- 3    4 -> 2 ->15

这个想法是你保持三个指针,其中curr指向反向链接列表的头部(如上所述),而next是指向另一个链接列表的头指针向前的方向。

然后检查奇数长度回文,从prevnext开始比较,因为不需要检查奇数回文中的中间值。同样,如果回文是偶数,则从currnext开始。最终结果是最多两次不同的检查。