输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
限制:
0 <= 链表长度 <= 10000
- 单链表只能从头到尾遍历,遍历时可以使用容器存储。
- 不知道链表的具体长度,动态数组-》ArrayList存储
- 倒序遍历ArrayList,输出res数组。
ArrayList
// ArrayList是容器,数据类型是包装类型。 初始化:ArrayList代码al == new ArrayList<>() 增:al.add(value) 查:al.get(i)
class Solution {
public int[] reversePrint(ListNode head) {
if(head == null)
return new int[0];
ListNode p = head;
// 定义一个数组储存遍历一遍的值
ArrayList al = new ArrayList<>();
while(p!=null){
al.add(p.val);
p = p.next;
}
// 逆序输出
int[] res = new int[al.size()];
for(int i = 0; i < al.size(); i++){
res[al.size()-1-i] = al.get(i);
}
return res;
}
}



