剑指offer-python

面试题6:从头到尾打印链表

2018-06-19  本文已影响0人  小歪与大白兔

题目描述:

输入一个链表,从尾到头打印链表每个节点的值。

解题思路:

遍历链表,将其存入一个栈中,然后根据栈先进后出的原则,实现从尾到头打印链表。时间复杂度O(n),空间复杂度O(n)。

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def printListFromTailToHead(self, listNode):
        # write code here
        if not listNode:
            return []
        p = listNode
        stack = []
        res = []
        while p:
            stack.append(p.val)
            p = p.next
        for i in range(len(stack)):
            res.append(stack.pop())
        return res
上一篇 下一篇

猜你喜欢

热点阅读