题目

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

示例 1:

1
2
输入:head = [1,3,2]
输出:[2,3,1]

限制:

1
0 <= 链表长度 <= 10000

解题思路

从尾到头输出,利用栈先进后出的性质来实现

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public int[] reversePrint(ListNode head) {
Stack<Integer> stack =new Stack();

while(head!=null){
stack.push(head.val);
head=head.next;
}
int []list=new int[stack.size()];
int i=0;
while(!stack.isEmpty()){
list[i]=stack.pop();
i++;
}
return list;
}
}