思路:
- 方式一: 先将单链表进行反转操作, 然后再遍历即可, 这样做的问题是 会破坏原来的单链表结构, 不建议
- 方式二: 可以利用栈这个数据结构, 将各个节点压入到栈中, 然后利用栈的先进后出的特点,实现逆序打印单链表
//方式二: 利用栈实现 单链表的逆序打印
public static void reversePrint(HeroNode head) {
if (head.next == null) {
return;
}
HeroNode temp = head.next;
Stack<HeroNode> stack = new Stack<HeroNode>();
while (temp != null) {
stack.add(temp);
temp = temp.next;
}
while (stack.size()>0) {
System.out.println(stack.pop());
}
}