- 题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
限制:
0 <= 链表长度 <= 10000
-
思路 借助栈先进后出的特性来存储元素。
-
代码:
class Solution {
func reversePrint(_ head: ListNode?) -> [Int] {
var stack = [Int]()
var cur = head
while cur != nil {
stack.append(cur!.val)
cur = cur?.next
}
var result = [Int]()
while !stack.isEmpty {
result.append(stack.popLast()!)
}
return result
}
}