题解 | #判断一个链表是否为回文结构#
判断一个链表是否为回文结构
http://www.nowcoder.com/practice/3fed228444e740c8be66232ce8b87c2f
/*
* public class ListNode {
* int val;
* ListNode next = null;
* }
*/
public class Solution {
/**
*
* @param head ListNode类 the head
* @return bool布尔型
*/
public boolean isPail (ListNode head) {
if(head==null) return true;
// write code here
//反转链表数据进栈
Stack<Integer> st =new Stack<>();
st=reverse(head);
ListNode temp=head;
while(temp!=null){
int num=st.pop();
if(temp.val!=num){
return false;
}
temp=temp.next;
}
return true;
}
public Stack<Integer> reverse(ListNode head){
Stack<Integer> st = new Stack<Integer>();
ListNode tempNode=head;
while(tempNode!=null){
st.push(tempNode.val);
tempNode=tempNode.next;
}
return st;
}
}