- 第一次遍历将节点值放到stack里面
- 第二次遍历每次拿到该节点的值与stack弹出来的值比较,不同返回false,比较完成返回true;
public boolean isPail (ListNode head) {
//第一次遍历取值
Stack<Integer> stack = new Stack();
ListNode temp = head;
while(temp!=null){
stack.push(temp.val);
temp = temp.next;
}
//第二次遍历比较
while(head!=null){
Integer cur = stack.pop();
if( head.val != cur ){
return false;
}
head = head.next;
}
return true;
}