GitHub:https://github.com/cytues/sword
题目描述
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
# -*- 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 not listNode:
return []
result = []
while listNode.next is not None:
# extend() 函数用于在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)。
result.extend([listNode.val])
listNode = listNode.next
# 退出循环刚好在末尾节点,将末尾节点也添加进去
result.extend([listNode.val])
return result[::-1]