Data structures python3-删除节点

Data structures python3-删除节点,data-structures,python-3.6,Data Structures,Python 3.6,此代码用于从链表中的给定位置删除节点 为什么我们最终要把返回头 def deleteNode(head, position): if position == 0: return head.next else: curr = head for _ in range(position): prev=curr curr = curr.next prev.next=curr.n

此代码用于从链表中的给定位置删除节点

为什么我们最终要把返回头

def deleteNode(head, position):
   
   if position == 0:
       return head.next
   
   else:
       curr = head
       for _ in range(position):
           prev=curr
           curr = curr.next
       prev.next=curr.next
       return head

因为您需要将列表返回给调用此列表的函数,以便跟踪它
head
是对列表开头的引用,因此它是将列表返回到原来位置的方法。

position==0
的情况下,该函数实际上不会对列表进行任何修改;它只返回第二个节点,并让用户使用该返回值修改其列表。因此,用户可能要编写
mylist=deleteNode(mylist)
。要使其工作,您需要返回列表的第一个节点,即使您实际从列表中删除了一个节点。