題目
輸入一個(gè)鏈表的頭節(jié)點(diǎn),從尾到頭反過(guò)來(lái)返回每個(gè)節(jié)點(diǎn)的值(用數(shù)組返回)。
示例 1:
輸入:head = [1,3,2]
輸出:[2,3,1]
限制:
0 <= 鏈表長(zhǎng)度 <= 10000
解題思路
/**
* Definition for singly-linked list.
* public class ListNode {
* public var val: Int
* public var next: ListNode?
* public init(_ val: Int) {
* self.val = val
* self.next = nil
* }
* }
*/
public class ListNode {
public var val: Int
public var next: ListNode?
public init(_ val: Int) {
self.val = val
self.next = nil
}
}
class Solution {
func reversePrint(_ head: ListNode?) -> [Int] {
var tempList:[Int] = []
var node = head
while (node != nil) {
tempList.append(node!.val)
node = node!.next
}
return tempList.reversed()
}
}
let node2 = ListNode(2)
let node3 = ListNode(3)
let node4 = ListNode(4)
node2.next = node3
node3.next = node4
let res = Solution().reversePrint(node2)
print("res:\(res)")