使用栈结构将链表入栈存一遍,等于逆序链表
根据回文特性 正反一样 所以再出栈循环比对即可
优化点,可以只比一半
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类 the head
* @return bool布尔型
*/
public boolean isPail (ListNode head) {
// write code here
if(head==null){
return true;
}
Stack<ListNode> stack=new Stack<>();
ListNode index=head;
while(index!=null){
stack.add(index);
index=index.next;
}
index=head;
while(index!=null){
if(index.val!=stack.pop().val){
return false;
}
index=index.next;
}
return true;
}
}
京公网安备 11010502036488号