题目中说的是 输入的是链表的头节点,这个之前学习的时候没怎么用过以为和数组一样结果就按照列表的反向操作写了,结果报错:
class Solution(object):
def reversePrint(self, head):
"""
:type head: ListNode
:rtype: List[int]
"""
head = list(head)
n = []
l = len(head)
for i in range(l) :
n.append(head[l-i])
return n
上网搜索之后还是有区别的,ListNode是指针的类型,并且作为对象传递到函数中,无法转化成列表,还是要按照指针搞一下的
class Solution(object):
def reversePrint(self, head):
"""
:type head: ListNode
:rtype: List[int]
"""
n = []
while head :
n.append(head.val)
head = head.next
n = n[::-1]
return n
之前一直不太懂python中数组和列表的具体区别,今天也查了一下
简单来说就是:列表只是元素的集合,元素之间不存在任何关系,且是python自带的数据结构
而数据要求元素都是同一类型,且可以计算,符合计算逻辑,同时数组需要通过numpy库去调用实现,具体使用方法可以参考:
python中数组array和列表list的基本用法及区别_陈壮实的搬砖生活的博客-CSDN博客_python数组和列表的区别