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

时间:2020-06-01 08:50:05

标签: python linked-list

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

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'

如果您能提供帮助,那就太好了 预先感谢!

2 个答案:

答案 0 :(得分:0)

在尝试迭代它之前,必须在self.head中分配一个值。它的初始化值为None,因此无法尝试通过None类型的对象进行迭代。

答案 1 :(得分:0)

在使用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

相关问题