107 字
1 分钟
从尾到头打印链表
一、 题目
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
二、 解法
2.1 辅助空间
func reversePrint(_ head: ListNode?) -> [Int] { var res: [Int] = [], node = head
while let n = node { res.insert(n.val, at: 0) node = node?.next }
return res}2.2 递归
func reversePrint(_ head: ListNode?) -> [Int] { guard let node = head else { return [] } return reversePrint(head?.next) + [node.val]}