题目
输入一个链表的头结点,从尾到头反过来打印出每个结点的值。链表结点定义如下:
public class ListNode {
public Object data;
public ListNode next;
}
解决方案
从尾到头打印,可以考虑使用栈
这种数据结构来解决:
public class Solution {
public static void printReverseOrder(ListNode listNode) {
if (listNode == null) {
return;
}
Stack<Object> stack = new Stack<Object>();
while (listNode != null) {
//将数据放入栈中
stack.push(listNode.data);
//指针域指向下一个指针
listNode = listNode.next;
}
while (!stack.isEmpty()) {
System.out.print(stack.pop() + " ");
}
}
}