剑指 Offer 06. 从尾到头打印链表(简单)

通过率 75.2%

题目链接

题目描述:

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

示例 1:

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

限制:

0 <= 链表长度 <= 10000

思路:

利用栈后进先出的特点,先用一个栈顺序存储数据,再将数据从栈中一个一个pop弹出,push压入另一个栈中

/*JavaScript*/
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @return {number[]}
 */
var reversePrint = function(head) {
    const stack1 = []
    const stack2 = []
    while(head) {
        stack1.push(head.val)
        head = head.next
    }
    while(stack1.length) stack2.push(stack1.pop())
    return stack2
};

 

posted @ 2021-08-08 12:11  自在逍遥处  阅读(26)  评论(0编辑  收藏  举报