【力扣:python刷题】剑指 Offer 06. 从尾到头打印链表

文章目录

    • 题目
    • 思路
    • 代码

题目

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

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

限制:
0 <= 链表长度 <= 10000

思路

倒序输出节点值,先入后出的特点可以借助栈来完成。使用while循环head变量去遍历列表,将头节点append()进空数组中,再将下一个节点head.next赋值给head变量,去推进循环,再将节点head.val的值append()进数组中,最后一个节点的后面是null。

代码

# 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]:
        stack = []
        while head:
            stack.append(head.val)
            head = head.next;  
        return stack[::-1]

你可能感兴趣的:(力扣,剑指Offer,leetcode,链表,算法,python)