javaleetcode234. 回文链表
Posted 青春无敌美少
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaleetcode234. 回文链表相关的知识,希望对你有一定的参考价值。
leetcode234. 回文链表:
问题描述
解题思路:
先通过双指针中的快慢指针来找到链表的中点
如果fast指针没有指向null,说明链表长度为奇数,slow还要再前进一步
从slow开始反转后面的链表,现在开始比较回文串
实现代码:
class Solution
public boolean isPalindrome(ListNode head)
ListNode slow,fast;
slow=fast=head;
while(fast!=null&&fast.next!=null)
slow=slow.next;
fast=fast.next.next;
if(fast!=null)
slow=slow.next;
ListNode left=head;
ListNode right=reverse(slow);
while(right!=null)
if(left.val!=right.val)
return false;
left=left.next;
right=right.next;
return true;
public ListNode reverse(ListNode head)
ListNode pre=null;
ListNode cur=head;
while(cur!=null)
ListNode next=cur.next;
cur.next=pre;
pre=cur;
cur=next;
return pre;
以上是关于javaleetcode234. 回文链表的主要内容,如果未能解决你的问题,请参考以下文章