假设在调用remov()时列表中至少有一个元素,但是,如果只有一个元素,则在删除该元素时需要将head设置为None。
def remov(self):
current = self.head
previous = current
while current.get_next() != None:
previous = current
current = current.get_next()
previous.set_next(None)
return current.get_data()
当列表中只有1个元素时,我无法返回正确的答案。
示例:
答案 0 :(得分:0)
如果您进行一些谷歌搜索,您可以轻松找到正确的链接列表实现。 我从this tutorial
中提取了以下代码def remove(self,item):
current = self.head
previous = None
found = False
while not found:
if current.getData() == item:
found = True
else:
previous = current
current = current.getNext()
if previous == None:
self.head = current.getNext()
else:
previous.setNext(current.getNext())
注意:你必须要小心,始终最后一个元素的下一个节点应该是None