题目:输入一个链表,从尾到头打印链表每个节点的值。
思路:链表的遍历是从头到尾,stack栈是先进后出,刚好满足需求;将遍历的链表值保存在stack中,再从stack中取出放入list中。
源码:
import java.util.Stack;
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode){
ArrayList<Integer> list=new ArrayList();
Stack<Integer> stack=new Stack<>();
while(listNode!=null) {
stack.push(listNode.val);
listNode=listNode.next;
}
while(!stack.isEmpty()) {
list.add(stack.pop());
}
return list;
}
}