剑指 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
};

 

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

上一篇:C#中方法的重写


下一篇:Masonry学习札记