写一个单链表中删除节点的函数
时间: 2024-10-09 20:10:20 浏览: 31
python实现单链表中删除倒数第K个节点的方法
在单链表中删除一个节点通常需要分为两步:首先找到要删除的节点,然后修改前一个节点的指针使其指向下一个节点,以跳过被删除的节点。这里是一个简单的伪代码示例:
```python
def delete_node(head, target_value):
# 如果链表为空或目标值不存在
if head is None or head.value != target_value:
return head
# 遍历链表
current = head
prev = None
while current is not None and current.value != target_value:
prev = current
current = current.next
# 删除节点
if current is not None:
# 如果找到了目标节点,则更新prev的next指针
if prev is None:
head = current.next
else:
prev.next = current.next
return head
```
在这个函数中,`head` 是链表的头结点,`target_value` 是要删除的节点值。如果找到目标节点,就将 `prev.next` 设为 `current.next`,否则直接返回原链表。
阅读全文