1. 程式人生 > >《劍指Offer》連結串列--從尾到頭列印連結串列

《劍指Offer》連結串列--從尾到頭列印連結串列

時間限制:1秒 空間限制:32768K 熱度指數:681780

本題知識點: 連結串列

題目描述

輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。

思路:

從尾到頭列印連結串列首先想到的是利用棧的性質:先進後出,在此注意,寫完程式碼,一定要導Stack包

/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
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> newList = new ArrayList<Integer>();
        while(!stack.isEmpty()){
            newList.add(stack.pop());
        }
        return newList;
    }
}