剑指offer系列之链表

题目: 输入一个链表,从尾到头打印链表每个节点的值。

基本思想: 利用栈的后进先出特性,先把链表中的东西依次放入栈中,然后按顺序把栈中的东西pop出来。

代码部分:

import java.util.ArrayList;
import java.util.Stack;

public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
    Stack<Integer> stack = new Stack<Integer>();

    while(listNode != null){
        stack.push(listNode.val);
        listNode = listNode.next;
    }

    ArrayList<Integer> list = new ArrayList<Integer>();

    while(!stack.isEmpty()){
        list.add(stack.pop());
    }
    return list;
}
}