输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
递归方式实现:
public class Test{
public static ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList arr = new ArrayList();
xx(arr,listNode);
return arr;
}
public static void xx(ArrayList arr,ListNode listNode){
if(listNode != null){
xx(arr,listNode.next);
arr.add(listNode.val);
}
}
public static void main(String[] args) {
ListNode head = new ListNode(0);
head.next = new ListNode(1);
head.next.next = new ListNode(2);
ArrayList<Integer> arrayList = new ArrayList<Integer>();
arrayList = printListFromTailToHead(head);
System.out.println();
}
}
class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}