回文链表问题
Posted Alice_yufeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回文链表问题相关的知识,希望对你有一定的参考价值。
/**
* Definition for singly-linked list.
* public class ListNode
* int val;
* ListNode next;
* ListNode()
* ListNode(int val) this.val = val;
* ListNode(int val, ListNode next) this.val = val; this.next = next;
*
*/
class Solution
public boolean isPalindrome(ListNode head)
List<Integer> vals = new ArrayList<Integer>();
// 将链表的值复制到数组中
ListNode currentNode = head;
while (currentNode != null)
vals.add(currentNode.val);
currentNode = currentNode.next;
// 使用双指针判断是否回文
int front = 0;
int back = vals.size() - 1;
while (front < back)
if (!vals.get(front).equals(vals.get(back)))
return false;
front++;
back--;
return true;
以上是关于回文链表问题的主要内容,如果未能解决你的问题,请参考以下文章