3.从尾到头打印链表
题目描述
输入一个链表,按链表从尾到头的顺序返回一个ArrayList。
记录
方法一:
1.判断是否为空,空的话返回空列表。
2.将链表变成列表res,最后返回反向的res :res[::-1]或者res.reverse()。
# -*- 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
if listNode == None:
return []
res = []
while listNode:
res.append(listNode.val)
#更新到下一个节点
listNode = listNode.next
return res[::-1]
方法二:
递归
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
# write code here
if listNode is None:
return []
return self.printListFromTailToHead(listNode.next)+[listNode.val]