剑指 Offer 06. 从尾到头打印链表

剑指 Offer 06. 从尾到头打印链表

Difficulty: 简单

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

示例 1:

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

限制:

0 <= 链表长度 <= 10000

Solution

简单题,考察反转链表,应该不允许出现[::-1]这种用法。

相同的题:LeetCode 206. 反转链表 - swordspoet - 博客园

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def reversePrint(self, head: ListNode) -> List[int]:
        if not head:
            return []
        tmp = None
        while head:
            next = head.next
            head.next = tmp
            tmp = head
            head = next
        res = []
        while tmp:
            res.append(tmp.val)
            tmp = tmp.next
        return res
原文地址:https://www.cnblogs.com/swordspoet/p/14488946.html