力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
思路: 使用栈存入后,在比较弹出顺序是否等于链表遍历顺序
public boolean isPail (ListNode head) {
// write code here
//使用栈的特性
if(head==null){
return false;
}
//回文正反遍历相同
Stack<ListNode> stack = new Stack<>();
ListNode cur = head;
while(cur!=null){
stack.add(cur);
cur = cur.next;
}
//栈弹出和链表从头遍历,每个值都相等说明是回文
cur = head;
while(cur!=null){
if(cur.val!=stack.pop().val){
return false;
}
cur = cur.next;
}
return true;
}