劍指offer系列:從尾到頭打印鏈表

描述

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

代碼

/**
*    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<Integer> curlist = new ArrayList<>();
        ArrayList<Integer> ans2 = new ArrayList<>();
        ListNode cur = listNode;
        while (cur!=null) {
           curlist.add(cur.val);
           cur =cur.next;
        }
        for (int i = curlist.size()-1; i >= 0; i--) {
            ans2.add(curlist.get(i));
        }
        return ans2;
    }
}

代碼優化

/**
*    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<Integer> curlist = new ArrayList<>();
        ListNode cur = listNode;
        while (cur!=null) {
           curlist.add(0,cur.val);
           cur =cur.next;
        }
       return curlist;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章