剑指 Offer 06-从尾到头打印链表|刷题打卡

76 阅读1分钟

本文正在参与掘金团队号上线活动,点击 查看大厂春招职位

一、题目描述

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

示例 1 :

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

二、思路分析

  1. 利用递归的思路遍历链表,把链表的每个节点值存在数组中
  2. 翻转数组并返回.

三、AC 代码

class Solution:
    def reversePrint(self, head: ListNode) -> List[int]:
        res = []
        while head:
            res.append(head.val)
            head = head.next
        return res[::-1]

输出为:

image.png

四、总结

该题是利用了递归数组翻转的方式来解答的。数组翻转用s[::-1]的方式来解决很常见也可以使得代码很简洁。