gpt4 book ai didi

python - python中的循环链表

转载 作者:行者123 更新时间:2023-12-01 05:43:44 24 4
gpt4 key购买 nike

def delete_node(head, value):
p=head
if p is None:
return None
while p.value!=value:
p=p.next
if p.next is head and p.value!=value:
return head
p.value=p.next.value
if p.next==head:
head=p
p.next=p.next.next
return head

上面是我根据节点的值删除循环链表中节点的代码!对于这种情况,代码没有给出结果——我在列表中只有 1 个元素,然后我删除了它。所以结果应该是一个空集。但是因为我采用了 p.value=p。 next.value 它再次指向自身,并且列表中存在相同的值!谁能帮我吗!提前致谢! :)

最佳答案

这里最简单的解决方案是有一个虚拟节点,在空列表的情况下指向自身。因此,在空列表中,我们有一个节点指向其自身(虚拟节点),在具有一个元素的列表中,虚拟节点指向该元素,而该元素又指向虚拟节点。

避免了任何特殊情况的需要,并且通常简化了代码。要检查列表是否为空,您可以执行 dummy.next is dummy ,也不错。

关于python - python中的循环链表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16796964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com