繁体   English   中英

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

[英]problem in deleting a node in linked list (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 类型 object 是不可能的。

在访问 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM