首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从单链表中删除节点

是指在一个单链表中删除指定节点的操作。单链表是一种常见的数据结构,由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。

删除节点的操作需要考虑以下几种情况:

  1. 删除头节点:如果要删除的节点是头节点,需要将头节点指针指向下一个节点即可。
  2. 删除中间节点:如果要删除的节点是中间节点,需要将前一个节点的指针指向下一个节点,跳过要删除的节点。
  3. 删除尾节点:如果要删除的节点是尾节点,需要找到尾节点的前一个节点,将其指针指向空即可。

下面是一个示例代码,演示如何从单链表中删除节点:

代码语言:txt
复制
class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

def deleteNode(head, val):
    # 处理头节点为要删除节点的情况
    if head.val == val:
        return head.next
    
    # 遍历链表查找要删除的节点
    curr = head
    while curr.next:
        if curr.next.val == val:
            curr.next = curr.next.next
            break
        curr = curr.next
    
    return head

# 创建一个示例链表:1 -> 2 -> 3 -> 4 -> 5
head = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
node5 = ListNode(5)
head.next = node2
node2.next = node3
node3.next = node4
node4.next = node5

# 删除节点值为3的节点
head = deleteNode(head, 3)

# 打印删除节点后的链表:1 -> 2 -> 4 -> 5
curr = head
while curr:
    print(curr.val)
    curr = curr.next

在云计算领域中,单链表的删除节点操作并不直接涉及云计算相关的概念和技术。因此,无法给出腾讯云相关产品和产品介绍链接地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

18分23秒

020-尚硅谷-图解Java数据结构和算法-单链表节点的删除和小结

18分23秒

020-尚硅谷-图解Java数据结构和算法-单链表节点的删除和小结

4分9秒

【剑指Offer】18. 删除链表的节点

300
5分16秒

【剑指Offer】18.2 删除链表中重复的结点

7.5K
8分47秒

019-尚硅谷-图解Java数据结构和算法-单链表节点的修改

8分47秒

019-尚硅谷-图解Java数据结构和算法-单链表节点的修改

14分39秒

16-尚硅谷-Scala数据结构和算法-单向链表-删除节点

9分16秒

353_尚硅谷_Go核心编程_数据结构和算法-单链表的删除.avi

16分44秒

018-尚硅谷-图解Java数据结构和算法-单链表按顺序插入节点

16分44秒

018-尚硅谷-图解Java数据结构和算法-单链表按顺序插入节点

4分26秒

068.go切片删除元素

14分30秒

Percona pt-archiver重构版--大表数据归档工具

领券