import java.util.ArrayList;
import java.util.Stack;
public class Solution {
// 用栈的方式实现,先进栈,出栈进数组
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
Stack<Integer> stack = new Stack<>();
while (listNode != null) {
stack.add(listNode.val);
listNode = listNode.next;
}
ArrayList<Integer> arrayList = new ArrayList<>();
while (!stack.isEmpty()) {
arrayList.add(stack.pop());
}
return arrayList;
}
}
import java.util.ArrayList;
public class Solution {
// 用头插法建立逆序链表,数组添加其中的数据
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ListNode listNode1 = new ListNode(-1);
while (listNode != null) {
ListNode next = listNode.next;
listNode.next = listNode1.next;
listNode1.next = listNode;
listNode = next;
}
ArrayList<Integer> arrayList = new ArrayList<>();
listNode1 = listNode1.next;
while (listNode1 != null) {
arrayList.add(listNode1.val);
listNode1 = listNode1.next;
}
return arrayList;
}
}