import java.util.*;
/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> ret = new ArrayList<>();
if(listNode==null) {
return ret;
}
//插法
ListNode cur = listNode;
ListNode pre = null; //新头节点
ListNode tmp = cur;
while(cur!=null){
//记录cur下一个位置
tmp = cur.next;
cur.next = pre; //头插
//改变心链表头节点
pre = cur;
cur = tmp; //回到原链表继续头插
}
while(pre!=null){
ret.add(pre.val);
pre = pre.next;
}
return ret;
}
}