本题有两种解法
1.常规思路
/**
* @param {ListNode} head
* @return {any[]}
*/
function printListFromTailToHead(head) {
const arr = [],solve = [];
var i = 0,j = 0;
let node = head;
while (node) {
arr[i] = node.val;
i++;
node = node.next;
}
for(j = 0;j < i;j++){
solve[j]=arr[i-j-1];
}
return solve;
}
2.使用reverse语法
/**
* @param {ListNode} head
* @return {any[]}
*/
function printListFromTailToHead(head) {
const arr = [],solve = [];
var i = 0,j = 0;
let node = head;
while (node) {
arr[i] = node.val;
i++;
node = node.next;
}
return arr.reverse();
}
reverse()会改变原来的数组,而不会创建新的数组。