📅  最后修改于: 2023-12-03 15:27:10.770000             🧑  作者: Mango
在链表中删除给定节点是编写程序时经常遇到的问题。本文将介绍如何使用Python编写程序以在给定约束下删除链表中给定节点。
以下是一个使用 Python 实现上述算法的代码示例:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def deleteNode(node, val):
if head.val == val:
return head.next
curr = head
while curr.next is not None:
if curr.next.val == val:
curr.next = curr.next.next
return head
else:
curr = curr.next
print('无法找到节点!')
return head
假设存在一个链表,其值为 1 -> 2 -> 3 -> 4 -> 5。如果要删除值为 3 的节点,则可以创建一个节点对象,将其值设置为 3,并将其作为删除函数的参数。例如,可以执行以下代码来删除节点:
head = ListNode(1, ListNode(2, ListNode(3, ListNode(4, ListNode(5, None)))))
deleteNode(head, 3)
这将会返回一个新的链表,其值为 1 -> 2 -> 4 -> 5。