题目描述

 

 

 

 

 

代码:

 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 }