输入一个链表,从尾到头打印链表每个节点的值。
分析:在C/C++中,通常采用“指针+结构体”来实现链表;而在Python中,则可以采用“引用+类”来实现链表。使用切片操作[::-1]反转列表,在获取节点值之前,需要判断节点是否为空。此外,append也可以使用extend,二者的区别可以参考http://stackoverflow.com/questions/252703/append-vs-extend
# -*- coding:utf-8 -*-
class ListNode:
def __init__(self, x):
self.val = x
self.next = None
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
reversl=[]
if listNode is None:
return reversl
while listNode is not None:
reversl.append(listNode.val)
listNode=listNode.next
return reversl[::-1]