# 从尾到头打印链表

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

# 示例 1:

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

# 分析

借助 一次遍历 和 栈 来完成

# 代码

/**
 * @param {ListNode} head
 * @return {number[]}
 */
var reversePrint = function(head) {
    let stack = []
    let pre = head;
    while(pre !== null){
        stack.push(pre.val)
        pre = pre.next;
    }
    // left right 交换 
    return stack.reverse()
};

关于 stack.reverse() 代码替换

let left=0,right=stack.length-1
let temp
while(left<right){
    temp = stack[left]
    stack[left] = stack[right]
    stack[right] = temp
    left++;
    right--
}
return stack