Python 数据结构 删除指定链表节点

本文介绍如何在Python中删除满足特定条件的链表节点。通过复制待删除节点的下一个节点到当前节点,并删除原next节点,再将当前节点指向前一个next..next节点,成功实现节点删除。
摘要由CSDN通过智能技术生成

删除满足条件的链表节点。

方法: 把需要删除的节点的next节点复制给当前需要删除的节点,然后删除当前节点的next节点,把当前节点指向当前的next..next节点,即实现了删除。

# from .revers_link_list import LinkNode


# define linked list
class LinkNode(object):
    def __init__(self, x):
        self.val = x
        self.next = None


def create_list():
    """
    create two LinkList
    :return: head node  LinkNde 
    """
    pre = LinkNode(None)
    head_node = pre
    while True:
        val = int(input())
        if val == -1:
            break
        pre.next = LinkNode(val)
        pre = pre.next
    return head_node


def delete_node(node: LinkNode):
    """
    把当前节点的下一个节点赋值给当前节点, 删除下一个节点, 当前节点指向下下一个节点
    :param node: LinkNode
    :return: void
    """
    next_node = node.next
    next_next_node = node.next.next
    node.val = next_node.val
    node.next = next_ne
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值