10.回文链表

题目描述

请编写一个函数,检查链表是否为回文。

给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。

测试样例:
{1,2,3,2,1}
返回:true
 
{1,2,3,2,3}
返回:false

代码如下:
import java.util.*;

/*
public class ListNode {
    int val;
    ListNode next = null;

    ListNode(int val) {
        this.val = val;
    }
}*/
public class Palindrome {
    public boolean isPalindrome(ListNode pHead) {
        Stack<Integer>stack=new Stack<>();
        ListNode tmp=pHead,tmp2=pHead;
        while(tmp!=null){
            stack.push(tmp.val);
            tmp=tmp.next;
        }
        while(!stack.isEmpty()){
            int value=stack.pop();
            if(tmp2.val!=value)
                return false;
            tmp2=tmp2.next;
        }
        return true;
    }
}

  

原文地址:https://www.cnblogs.com/mlz-2019/p/4761594.html