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) 方法,遍歷的時候,每次把數據都放在第一位