博客
关于我
LeetCode---Delete Node in a Linked List
阅读量:606 次
发布时间:2019-03-12

本文共 679 字,大约阅读时间需要 2 分钟。

我们希望在单链表中删除一个给定的非尾节点。已知只有通过该节点的引用才能进行操作。为了达到这一点,我们可以通过调整当前节点的下一个节点的指针来间接实现删除操作。

方法思路

要删除一个链表中的非尾节点,建议进行以下步骤:

  • 记录当前节点的下一个节点。
  • 将当前节点的值设为下一个节点的值。
  • 将当前节点的下一个节点设为下一个节点的下一个节点。
  • 这种方法通过修改当前节点的值和指针,使其直接连接到下一个节点的后一个节点,间接地删除了中间的节点。

    解决代码

    class ListNode(object):    def __init__(self, x):        self.val = x        self.next = Noneclass Solution:    def deleteNode(self, node):        """删除current node(非尾节点),middle of the list.        """        # 设定当前节点的值等于下一个节点的值        node.val = node.next.val        # 设定当前节点的下一个节点等于下一个节点的下一个节点        node.next = node.next.next

    代码解释

  • 记录当前节点: 我们直接使用输入的节点作为操作对象。
  • 修改值和下一个节点: 将当前节点的值设为其下一个节点的值,然后将当前节点的下一个节点设为下一个节点的下一个节点。这意味着当前节点将小山跳过,并连接到下一个节点的后一个节点,从而删除当前节点。
  • 转载地址:http://hxhxz.baihongyu.com/

    你可能感兴趣的文章
    pritunl服务安装及配置
    查看>>
    Private Destructor
    查看>>
    private和protected能同时修饰成员变量吗_天天用注解你了解注解是怎么实现的吗?...
    查看>>
    privoxy Invalid header received from client.
    查看>>
    Privoxy代码下载
    查看>>
    Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
    查看>>
    pytorch中的求和函数sum(axis=x)解释
    查看>>
    Problem F: 质心算法
    查看>>
    Problem N HDU 2612 Find a way (两次BFS求最值)
    查看>>
    Process /usr/libexec/gdu-notification-daemon was killed by signal 6 (SIGABRT)
    查看>>
    process.env.VUE_APP_BASE_API 获取不到
    查看>>
    Process.run() 和 Process.start() 之间的区别
    查看>>
    Processes
    查看>>
    Processing通过编程实现艺术设计_实现艺术和现实的交互---数据设计分析002
    查看>>
    ProcessOnLoading
    查看>>
    SpringBoot中集成screw(螺丝钉)实现数据库表结构文档生成
    查看>>
    PROFINET 模拟器使用教程
    查看>>
    Program type already present: android.support.v4.widget.EdgeEffectCompat
    查看>>
    PyTorch中文版官方教程来啦(附下载)
    查看>>
    Progress Kemp LoadMaster 远程命令执行漏洞复现(CVE-2024-1212)
    查看>>