NC96 判断一个链表是否为回文结构
给定一个链表,请判断该链表是否为回文结构。
示例1
输入:
[1]
返回值:
true
示例2
输入:
[2,1]
返回值:
false 说明:
2->1
示例3
输入:
[1,2,2,1]
返回值:
true
说明:
1->2->2->1
用了一个栈把链表中的元素输入,如果出栈每一元素和链表的元素是一致的情况就证明是回文结构;
public boolean isPail (ListNode head) {
ListNode cur = head;
Stack<Integer> stack = new Stack<>();
while(head!=null){
stack.push(head.val);
head = head.next;
}
while(cur!=null){
if(cur.val!=stack.pop()){
return false;
}
cur = cur.next;
}
return true;
}