leetcode .从尾到头打印链表js

输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

思路:第一个遍历的节点,最后输出,最后一个遍历的先输出,可以利用数组,每次遍历将值存入一个数组,然后反转数组,或者是用栈存入然后再输出,后进先出。

数组实现:

var reversePrint = function(head) {
    var res = []
    while(head) {
        res.push(head.val)
        head = head.next
    }
    console.log(res)
    res.reverse()
    return res
    };

栈实现:后进先出

function printListFromTailToHead(head) {
    var res = []
    while(head) {
        res.unshift(head.val)
        head = head.next
    }
    return res
}

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。所以每次都会将值插入开头。

猜你喜欢

转载自www.cnblogs.com/lyt0207/p/12507213.html