删除链表 (Python) 中的节点时出现问题



下面是一个链接,可以从列表中删除一个项目

class Node(object):
def __init__(self, data=None):
self.data = data
self.next_node = None
class LinkedList(object):
def __init__(self):
self.head = None
def remove(self,item_to_remove):
n = self.head
while n is not item_to_remove :
n = n.next_node
if n == item_to_remove:
n = None 

在循环遍历节点的过程中,它向我返回此错误

AttributeError: 'NoneType' object has no attribute 'next_node'

如果你能帮忙,那就太好了 提前感谢!!

在尝试迭代之前,您必须在 self.head 中分配一个值。它的初始化值为 None,因此无法尝试循环访问 None 类型对象。

在访问 remove 方法之前,请先尝试插入数据。 尝试以下插入方法。

def insert(self, data):
newNode = Node(data)
if(self.head):
current = self.head
while(current.next):
current = current.next
current.next = newNode
else:
self.head = newNode

最新更新