题目描述
输入一个链表,按链表从尾到头的顺序返回一个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
思路:
从题目中的注释代码中可以看到,定义的节点有两部分,一个是数值域存放的值,另一部分指针域是指向下一个节点
定义一个空的数组
遍历链表,将值添加到数组中,遍历的时候,节点指向链表的下一个节点
遍历完成之后,此时的数组中存放的是正序的,返回倒序的即可。
# -*- 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
arraylist = []
while listNode:
arraylist.append(listNode.val)
listNode = listNode.next
return arraylist[::-1]