python单链表怎么删除节点

   2025-02-13 3260
核心提示:要删除一个节点,需要找到该节点的前一个节点,然后将它的next指针指向要删除节点的下一个节点。以下是一个示例代码,演示如何删

要删除一个节点,需要找到该节点的前一个节点,然后将它的next指针指向要删除节点的下一个节点。

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

# 定义节点类class ListNode:    def __init__(self, data):        self.data = data        self.next = None# 定义单链表类class LinkedList:    def __init__(self):        self.head = None    # 在链表尾部插入节点    def append(self, data):        new_node = ListNode(data)        if self.head is None:            self.head = new_node        else:            current = self.head            while current.next:                current = current.next            current.next = new_node    # 删除指定节点    def delete(self, data):        if self.head is None:            return        # 如果要删除的节点是头节点        if self.head.data == data:            self.head = self.head.next            return        current = self.head        while current.next:            if current.next.data == data:                current.next = current.next.next                return            current = current.next    # 打印链表    def print_list(self):        current = self.head        while current:            print(current.data, end=" ")            current = current.next        print()# 创建一个链表对象llist = LinkedList()# 在链表中插入节点llist.append(1)llist.append(2)llist.append(3)llist.append(4)llist.append(5)# 打印原始链表print("原始链表:")llist.print_list()# 删除节点 3llist.delete(3)# 打印删除节点后的链表print("删除节点后的链表:")llist.print_list()

运行上述代码,输出结果为:

原始链表:1 2 3 4 5 删除节点后的链表:1 2 4 5 

可以看到,节点3被成功删除了。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言