python - python中的反向链表
问题描述
我写了一个 Python 反向链表,但在运行时出现错误:
class Node:
def __init__(self, data):
self.items = data
self.ref = None
class LinkList:
def __init__(self):
self.head = None
def reverse_linkedlist(self):
prev = None
if self.head == None:
print("List has no elements")
return
n = self.head
while n is not None:
next = n.ref
n.ref = prev
prev = n
n = next
self.head = prev
return self.items
mylinklist = LinkList()
A = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
B=mylinklist.reverse_linkedlist(A)
print(B)
错误:
B=mylinklist.reverse_linkedlist(A)
TypeError: reverse_linkedlist() takes 1 positional argument but 2
were given
- 你能解决这个错误吗?
- 另外,我怎样才能只反转给定列表的 15 项?
解决方案
我更改了代码,但出现了新错误:
class Node:
def __init__(self, data):
self.items = data
self.ref = None
class LinkList:
def __init__(self):
self.head = None
def reverse_linkedlist(self, A):
prev = None
if self.head == None:
print("List has no elements")
return
n = self.head
while n is not None:
next = n.ref
n.ref = prev
prev = n
n = next
self.head = prev
return n
mylinklist = LinkList()
A = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
print([l for l in mylinklist.reverse_linkedlist(A[:15])])
错误:TypeError:“NoneType”对象不可迭代
推荐阅读
- c# - 如何解决错误“NotNullWhen 属性由于其保护级别而无法访问”
- flutter - 旋转变换动画在 Flutter 中不起作用
- c++ - 渲染为纯黑色的 OpenGL 纹理
- php - var_dump(getRecommendation($matrix,$getName)) 返回 null。检索到的值很好
- java - 将复制的整数值从 Excel 读取到 Java 中的 .txt 文件
- python - 检查Python中单词之间的相似性或同义词
- css - SCSS !default 与 css-modules
- angularjs - 如何纠正以下代码的解析错误
- google-apps-script - 为什么 getProperty 会崩溃?
- r - 如何在 rstan 中使用包中的发行版?