做这道题有如下2种思路:

  1. 从头到尾翻转链表,然后从尾部一直读到头部。
  2. 从头到尾读链表,储存在ArrayList中,然后用 Collections.reverse(ArrayList<> list); 翻转ArrayList。
    我选2。
import java.util.*;
public class Solution {
    public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
        ArrayList<Integer> list=new ArrayList<>();
        if(listNode==null) return list;
        while(listNode!=null){
            list.add(listNode.val);
            listNode=listNode.next;
        }
        Collections.reverse(list);
        return list;
    }
}