当前位置: 首页 > news >正文

Day41 移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

在这里插入图片描述

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeElements(ListNode head, int val) {
        // 处理头节点
        while (head != null && head.val == val) {
            head = head.next;  // // 跳过所有要删除的头节点
        }
        ListNode cur = head;
        while (cur != null && cur.next != null) {
            if (cur.next.val == val) {
                cur.next = cur.next.next;   // 删除当前节点的下一个节点
            } else {
                cur = cur.next;  // 否则继续向后遍历
            }
        }
        return head;
    }
}

时间复杂度:O(n),其中 n 是链表的长度。每个节点最多被访问一次。
空间复杂度:O(1),仅使用了几个指针。

相关文章:

  • 查询计算每一天的累计销售金额以及与前一天相比的销售金额增长额
  • 编译linux SDK
  • html网络安全工具源码 网络安全前端
  • 网络安全 逆向 apk 网络安全逆向分析
  • DeepSeek-学习与实践
  • 电容的温度系数分析
  • Qt中的MOC元对象系统内部原理介绍与开发应用
  • 【Git】初识Git 基础操作
  • DL/CV领域常见指标术语(FLOPS/mIoU/混淆矩阵/F1-measure)------一篇入门
  • C/C++流星雨
  • vue3 ref和reactive的区别
  • MOS管炸了,PWM“死区”时间得了解一下
  • 九联UNT403AS_晶晨S905L3S芯片_2+8G_安卓9.0_卡刷固件包
  • Python控制台信息记录全解析:从基础到生产级实践指南
  • 网络流量如何从公共互联网抵达Kubernetes容器 Pod?
  • 无法保存IP设置问题过程 - 心酸
  • PTA:使用指针方式求一个给定的m×n矩阵各行元素之和
  • VS2019+Mitk+cmake编译运行MitkWorkbench
  • Qt开发④Qt常用控件_上_QWdget属性+按钮类控件
  • el-button按钮的loading状态设置
  • 网站建设合同注意点/网上营销网站
  • qq空间怎么做网站/国家卫健委最新疫情报告
  • 购买的网站怎么看网站空间大小/关键词搜索工具有哪些
  • 店铺销售系统软件哪个好/网站标题优化排名
  • 银川做网站多少钱/全网营销整合营销
  • 国外网站 icp备案/seo关键词排名优化制作