使用栈结构将链表入栈存一遍,等于逆序链表
根据回文特性 正反一样 所以再出栈循环比对即可
优化点,可以只比一半
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; } }