剑指offer之003-从尾到头打印链表

题目描述

输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。

思路

用栈存放,再输出

class ListNode(object):
    def __init__(self , x):
        self.next = None
        self.val = x
    
    # 解法1:用辅助栈存储
    def printListFromTailToHead(listNode):
        result_array = []
        stack = []
        node_p = listNode
        while node_p:
            stack.append(node_p.val)
            node_p = node_p.next
        while stack:
            result_array.append(stack.pop(-1))
        return result_array

    # 解法2:本身栈调用
    result_array  = []
    def printListFromTailToHead(listNode):
        if listNode:
            printListFromTailToHead(listNode.next)
            result_array.append(listNode.val)
        return result_array

关于明柳梦少

坚守自己的原则,不随波逐流。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注