题目
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
思路
1.先获取链表的长度,可以通过遍历来获取长度。
2.创建一个链表长度的数组,用来放链表的数据。
3.通过倒序遍历,将链表的值放入数组中。
4.最后输出数据
代码
class Solution {
public int[] reversePrint(ListNode head) {
//先获取链表的长度
int leng = 0;
ListNode lnVal = head;
while(lnVal != null){
leng++;
lnVal = lnVal.next;
}
//创建一个链表长度的数组
int[] print = new int[leng];
ListNode lnVa = head;
//遍历链表,将链表值倒序放入数组中
while(lnVa != null){
print[leng - 1] = lnVa.val;
leng --;
lnVa = lnVa.next;
}return print;
}
}