思路
ArrayList 中有个方法是 add(index,value),可以指定 index 位置插入 value 值。
所以在遍历 listNode 的同时将每个遇到的值插入到 list 的 0 位置,最后输出 listNode 即可得到逆序链表,类似于栈:后进先出;
时间复杂度:O(N)
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list = new ArrayList<>();
//工作指针
ListNode cur = listNode;
while(cur != null) {
list.add(0,cur.val);
cur = cur.next;
}
return list;
}
}