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它再次指向自身,并且列表中存在相同的值!谁能帮我吗!提前谢谢!:)