删除我的链表中的最后一个元素
问题描述
我仅使用Node类创建了一个列表
class Node:
def __init__(self, init_data):
self.data = init_data
self.next = None
def get_data(self):
return self.data
def get_next(self):
return self.next
def set_data(self, new_data):
self.data = new_data
def set_next(self, new_next):
self.next = new_next
def __str__(self):
return str(self.data)
我已经初始化了列表,最后一个节点是None
。
我正在尝试删除此节点,但不知道如何删除?
解决方案
执行此操作的一个好方法是跟踪上一个节点和当前节点,然后在到达列表末尾时,将上一个节点中的下一个节点设置为"无"。
prev = None
cur = head
while cur.next is not None:
prev = cur
cur = cur.next
if prev: #in case the head is the tail
prev.next = None
相关文章