题目大意
解题思路
非递归(头插法)实现
遍历链表,每次在取出一个元素插入ArrayList
的0位置。
递归实现
代码实现
非递归(头插法)实现
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> arr=new ArrayList<>();
ListNode tmp=listNode;
while(tmp!=null){
arr.add(0,tmp.val);
tmp=tmp.next;
}
return arr;
}
}
递归实现
import java.util.ArrayList;
public class Solution {
ArrayList<Integer> arr=new ArrayList<>();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode!=null){
printListFromTailToHead(listNode.next);
arr.add(listNode.val);
}
return arr;
}
}