我正在尝试在python中创建一个链表类(我知道毫无意义,但这是一个学习练习),如果我尝试删除链表的第一个元素,我编写的删除节点的方法不起作用. 如果要删除的节点位于链表中的任何其他位置,则该方法可以正常工作。有人可以给我一些关于我哪里出错的见解吗?
到目前为止,这是我的代码:
class Node:
def __init__(self, data=None, next=None):
self.data = data
self.next = next
def __repr__(self):
return repr(self.data)
def printNodes(self):
while self:
print self.data
self = self.next
def removeNode(self, datum):
"""removes node from linked list"""
if self.data == datum:
return self.next
while self.next:
if self.next.data == datum:
self.next = self.next.next
return self
self = self.next