题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
题目链接:
代码:
1 /** 2 * public class ListNode { 3 * int val; 4 * ListNode next = null; 5 * 6 * ListNode(int val) { 7 * this.val = val; 8 * } 9 * } 10 * 11 */ 12 import java.util.ArrayList; 13 import java.util.Collections; 14 public class Solution { 15 private ArrayList<Integer> list = new ArrayList<>(); 16 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) { 17 //递归实现 18 if(listNode != null){ 19 printListFromTailToHead(listNode.next); 20 list.add(listNode.val); 21 } 22 return list; 23 //利用collections.reverse函数 24 /* 25 ArrayList<Integer> ans = new ArrayList<>(); 26 while(null != listNode){ 27 ans.add(listNode.val); 28 listNode = listNode.next; 29 } 30 Collections.reverse(ans); 31 return ans; 32 */ 33 } 34 }