面接問題6:最初から最後までチェーンテーブルを印刷する

665 ワード

タイトルの説明:
チェーンテーブルを入力し、チェーンテーブルの各ノードの値を末尾から印刷します.
問題解決の考え方:
チェーンテーブルを巡回し、1つのスタックに格納し、スタックの先進的な後出の原則に基づいて、末尾からチェーンテーブルを印刷することを実現します.時間複雑度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