剑指Offer(三):从尾到头打印链表

时间:2019-10-23
本文章向大家介绍剑指Offer(三):从尾到头打印链表,主要包括剑指Offer(三):从尾到头打印链表使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、前言

刷题平台:牛客网

二、题目

输入一个链表,返回一个反序的链表

1、思路

通常,这种情况下,我们不希望修改原链表的结构。返回一个反序的链表,这就是经典的“后进先出”,我们可以使用栈实现这种顺序。每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始逐个输出结点的值,给一个新的链表结构,这样链表就实现了反转。

2、代码

Python:

直接使用列表的插入方法,每次插入数据,只插入在首位。

# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
 
class Solution:
    # 返回从尾部到头部的列表值序列,例如[1,2,3]
    def printListFromTailToHead(self, listNode):
        # write code here
        result = []
        while listNode:
            result.insert(0, listNode.val)
            listNode = listNode.next
        return result

原文地址:https://www.cnblogs.com/ceo-python/p/11729422.html