描述
輸入一個鏈表,按鏈表從尾到頭的順序返回一個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;
}
}