递归
import java.util.ArrayList;
public class Solution {
private ArrayList<Integer> list = new ArrayList();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
if(listNode == null) {
return list;
}
printListFromTailToHead(listNode.next);
list.add(listNode.val);
return list;
}
}
反转链表
import java.util.ArrayList;
public class Solution {
private ArrayList<Integer> list = new ArrayList();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList();
ListNode pre = new ListNode(-1), post;
// 反转链表
while(listNode != null) {
post = listNode.next;
listNode.next = pre;
pre = listNode;
listNode = post;
}
// 存值
listNode = pre;
while(listNode != null && listNode.next != null) {
list.add(listNode.val);
listNode = listNode.next;
}
return list;
}
}