从尾到头打印单链表
    image.png

    1. //逆序打印单链表
    2. //使用栈这个数据结构,将各个节点压入到栈中,然后利用栈的先进后出的特点,就实现了逆序打印的效果
    3. public static void reversePrint(HeroNode2 head) {
    4. if (head.next == null) {
    5. System.out.println("这是一个空链表!");
    6. return;
    7. }
    8. //创建一个栈,将各个节点压入栈
    9. Stack<HeroNode2> stack = new Stack<>();
    10. HeroNode2 cur = head.next;
    11. //将链表的所有节点压入栈
    12. while (cur != null) {
    13. stack.push(cur);
    14. cur = cur.next;
    15. }
    16. //打印栈中的节点
    17. while (stack.size() > 0) {
    18. System.out.println(stack.pop());
    19. }
    20. }