何为回文链表,链表的正常排序和反排序节点的顺序都是一样的都是一样的,
如:1->2->2->1
正反的结果都是一样的
这里我们也是用栈的方法来解决问题
public boolean isPalindrome(StudentNode node){
Stack<StudentNode> stack = new Stack<>();
//把全部链表压入栈中
StudentNode head = node;
while (head!=null){
stack.push(head);
head=head.next;
}
//遍历链表并出栈,出栈就是相当于从链表的尾部反向遍历
while (node!=null){
if (node==stack.pop()){
node=node.next;
}else {
return false;
}
}
return true;
}