剑指offer(3):从尾到头打印链表

来源:互联网 发布:小型宝塔数控机床编程 编辑:程序博客网 时间:2024/06/09 22:45

剑指offer(3):从尾到头打印链表

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

#!/usr/bin/env python# -*- coding: utf-8 -*-# Created by xuehz on 2017/8/22"""题目描述输入一个链表,从尾到头打印链表每个节点的值。"""class ListNode:    def __init__(self, x):        self.val = x        self.next = Noneclass Solution:    # 返回从尾部到头部的列表值序列,例如[1,2,3]    def printListFromTailToHead(self, listNode):        # write code here        l = []  # 定义一个栈 #先进后出        if listNode is None:            return l        head = listNode        while head:            l.insert(0, head.val) # l = [listNode.val]+l            head = head.next        return l    def printListFromTailToHead1(self, listNode):        l = []        if listNode is None:            return l        while listNode is not None:            l.append(listNode.val)            listNode = listNode.next        l.reverse() #l[::-1]        return lif __name__ == '__main__':    node1 = ListNode(10)    node2 = ListNode(11)    node3 = ListNode(13)    node1.next = node2    node2.next = node3    S = Solution()    print(S.printListFromTailToHead2(node1))
原创粉丝点击