请判断一个链表是否为回文链表。

Posted q-1993

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请判断一个链表是否为回文链表。相关的知识,希望对你有一定的参考价值。

/**
 * Definition for singly-linked list.
 * public class ListNode 
 *     int val;
 *     ListNode next;
 *     ListNode(int x)  val = x; 
 * 
 */
class Solution 
    public boolean isPalindrome(ListNode head) 
        if(head==null || head.next == null)
                return true;
            
            
            ListNode slow = head;
            ListNode fast = head;
            while(fast!=null && fast.next!=null) 
                slow = slow.next;
                fast = fast.next.next;
            
            
            
            ListNode pre = null;
           
            if(fast==null) 
                pre = slow;
            else 
                pre = slow.next;
            
            
            ListNode cur = pre.next;
            pre.next = null;
            while(cur!=null) 
                ListNode temp = cur.next;
                cur.next = pre;
                pre=cur;
                cur = temp;
            
            
            while(pre!=null && head!=null)
                if(pre.val != head.val)
                    return false;
                else
                 pre=pre.next;
                 head=head.next;
                
            
            return true;
            
    

 

以上是关于请判断一个链表是否为回文链表。的主要内容,如果未能解决你的问题,请参考以下文章

链表--判断一个链表是否为回文结构

判断链表的回文结构

回文链表

链表的回文结构

链表

链表的回文结构