删除循环链表中的节点时出错

时间:2014-03-19 12:26:16

标签: python list linked-list

以下是删除循环链表中节点的代码:

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
    pass

代码没有给出答案的情况我只有一个元素而且我删除了它,结果代码应该是一个空集

例如,

check_deletion([1], 1, [])
check_deletion([], 1, [])

任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您可以通过在return none声明中添加附加条款来解决此问题:

 if p == None or (p.value == value and p.next = p):
    return None