从尾到头打印单链表
//逆序打印单链表
//使用栈这个数据结构,将各个节点压入到栈中,然后利用栈的先进后出的特点,就实现了逆序打印的效果
public static void reversePrint(HeroNode2 head) {
if (head.next == null) {
System.out.println("这是一个空链表!");
return;
}
//创建一个栈,将各个节点压入栈
Stack<HeroNode2> stack = new Stack<>();
HeroNode2 cur = head.next;
//将链表的所有节点压入栈
while (cur != null) {
stack.push(cur);
cur = cur.next;
}
//打印栈中的节点
while (stack.size() > 0) {
System.out.println(stack.pop());
}
}