输入一个链表,按链表从尾到头的顺序返回一个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]
