题目描述:输入个链表的头结点,从尾到头反过来打印出每个结点的值。
题目解析:有链表,有头结点,按照链表的头结点开始遍历,只能是从前往后,但是栈是先进后出,所以可以使用栈,当然也可以使用递归方式。我这里代码使用的是栈。
//给出链表头结点,从尾到头输出链表
public static class ListNode {//结点对象
int data;
ListNode next;
}
public static void printListReverse(ListNode listNode) {
Stack<ListNode> stack = new Stack<>();//使用Java中的栈
while (listNode != null) {
stack.push(listNode);
listNode = listNode.next;
}
while (!stack.empty()) {
System.out.print(stack.pop().data + " ");
}
}