1、第一种方法
使用了栈的原理
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {number[]}
*/
var reversePrint = function(head) {
let arr1=[]
while(head){
arr1.push(head.val)
head=head.next
}
let arr2=[]
while(arr1.length){
arr2.push(arr1.pop())
}
return arr2
};
2、第二种方法
数组首尾各自交换位置
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {number[]}
*/
var reversePrint = function(head) {
let arr=[]
while(head){
arr.push(head.val)
head=head.next
}
let left=null;
let right=null
let length=arr.length
for(left=0,right=length-1;left<right;left++,right--){
let temp=arr[left]
arr[left]=arr[right]
arr[right]=temp
}
return arr
};