劍指offer刷題總結——鏈表篇

1.從尾到頭打印鏈表

【題目】

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

【代碼】

package swear2offer.linkednode;

import java.util.ArrayList;

public class ReturnArrayList {

    /**
     * 輸入一個鏈表,按鏈表從尾到頭的順序返回一個 ArrayList。
     * */
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {

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

        ListNode head = listNode;

        while(head != null) {
            arrayList.add(0,head.val);
            head = head.next;
        }

        return arrayList;
    }

    public static void main(String[] args) {
        ListNode node1,node2,node3;
        node1 = new ListNode(1);
        node2 = new ListNode(2);
        node3 = new ListNode(3);

        node1.next = node2;
        node2.next = node3;

        System.out.println(new ReturnArrayList().printListFromTailToHead(node1));
    }
}

【思路】

利用動態數組arraylist的 add(index,value) 方法,遍歷的時候,每次把數據都放在第一位

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