從尾到頭打印鏈表

原題目:

輸入一個鏈表,按鏈表從尾到頭的順序返回一個ArrayList。


題目分析:

  1. 創建兩個ArrayList,一個用於存放listnode輸入值,另一個用於存放反轉後的值;
  2. 創建臨時ListNode位temp;
  3. 遍歷temp,將每個listnode值存放於第一個集合;
  4. 逆序遍歷第一個集合,將每個值存放於第二個集合,返回第二個集合;

代碼實現:


/**
*    public class ListNode {
*        int val;
*        ListNode next = null;
*        ListNode(int val) {
*            this.val = val;
*        }
*    }
*
*/
import java.util.ArrayList;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        //創建兩個ArrayList,一個用來接收輸入的listnode節點的值,另一個是反轉之後的值
        ArrayList first = new ArrayList();
        ArrayList last  = new ArrayList();
        //創建一個臨時的ListNode
        ListNode temp= listNode;
        while(temp!=null){
            first.add(temp.val);
            temp=temp.next;
        }
        //使用逆序來進行將ArrayList進行賦值到last中
        for(int i= first.size()-1;i>=0;i--){
            last.add(first.get(i));
        }
        return last;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章