leetcode 7 | 刷题打卡

99 阅读1分钟

题目描述

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

示例 1:

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

限制:

0 <= 链表长度 <= 10000

思路分析

AC 代码

// var reversePrint = function(head) {
//     if(!head) {
//         return []
//     }

//     let stack = []
//     while(head) {
//         stack.unshift(head.val)
//         head = head.next
//     }

//     return stack
// };
const reversePrint = head => {
    const res = []
    const recursive = head => {
        if(!head) {
            return 
        }
        recursive(head.next)
        res.push(head.val)
    }
    recursive(head)
    return res
}

总结

能用栈的地方就一定能用递归