码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • JZ18 删除链表的节点


    链表介绍:
    链表是以节点的方式来存储,是链式存储
    每个节点包含 data 域, next 域:指向下一个节点
    链表的各个节点不一定是连续存储
    链表分带头节点的链表和没有头节点的链表

    题目:
    给定单链表的一个头,删除该链表指定节点,该链表所有元素不同

    题解:
    链表删除元素,即是将它前一个元素本来指向它自己的指针指向它后一个元素,这样,没有指针指向它,它也不指向其他元素,即将自己从链表中摘了出来。对于不带头结点的链表,如果要删除第一个元素,还是给它加一个默认的头结点node比较容易操作。使用一个临时节点temp指向加了头结点后的链表,遍历寻找节点值与待删除值相等的节点,找到后断开连接即可。返回的时候返回node的下一个节点即可。

    解法:

    public ListNode deleteNode (ListNode head, int val) {
            ListNode node = new ListNode(Integer.MIN_VALUE);
            node.next = head;
            ListNode temp = node;
            while (temp.next != null) {
                if (temp.next.val == val) {
                    temp.next = temp.next.next;
                    break;
                }
                temp = temp.next;
            }
            return node.next;
        }
    

    复杂度分析:
    时间复杂度:O(n),其中n为链表长度,最坏遍历整个链表
    空间复杂度:O(1),常数级变量,没有使用额外的存储空间

    总结:链表删除有四个关键点:
    1).对于不带头结点的链表可以自己给它添加一个头节点。
    2).遍历的时候使用一个临时节点,循环的出口为当前节点的下一个节点为null或者寻找到目标节点后调出循环。
    3).找到目标节点后:temp.next = temp.next.next;
    4).返回加了头节点的链表的下一个节点。

  • 相关阅读:
    Python---练习:求世界杯小组赛的总成绩(涉及:布尔类型转换为整型)
    pytorch中的可学习查找表实现之nn.Embedding
    git worktree与分支依赖隔离
    C/C++_IO缓存问题
    [附源码]Python计算机毕业设计Django的专业技能认证系统
    任意文件下载漏洞(CVE-2021-44983)
    【软件测试】性能测试初相识
    SpringBoot中日志的使用log4j
    leetcode:2535. 数组元素和与数字和的绝对差(python3解法)
    德国金融监管机构网站遭遇大规模DDoS攻击后“瘫痪”
  • 原文地址:https://blog.csdn.net/qq_44300280/article/details/127118541
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号