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

初阶数据结构习题【3】(1时间和空间复杂度)——203移除链表元素

1. 题目描述

力扣在线OJ——移除链表元素
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。

示例1:
在这里插入图片描述
输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]

示例 2:
输入:head = [ ], val = 1
输出:[ ]

示例 3:
输入:head = [7,7,7,7], val = 7
输出:[ ]

2. 思路

思路1:找到等于 val 的节点直接删除

在这里插入图片描述

3 代码实现

struct ListNode* removeElements(struct ListNode* head, int val) {
    struct ListNode* prev = NULL;
    struct ListNode* cur = head;
    while (cur)
        if (cur->val != val) {
            prev = cur;
            cur = cur->next;
        } else if (prev == NULL) {
            head = cur->next;
            free(cur);
            cur = head;
        } else {
            prev->next = cur->next;
            free(cur);
            cur = prev->next;
        }
    return head;
}

在这里插入图片描述

相关文章:

  • C++核心指导原则: 源文件
  • 渲染 101:Maya 项目的高效渲染利器
  • 2025年Linux主力系统选择指南:基于最新生态的深度解析(附2025年发行版对比速查表)
  • LeetCode热题100JS(17/100)第三天|76.最小覆盖子串
  • Sqlserver安全篇之_TLS的证书概念
  • 【LeetCode】131.分割回文串
  • Spring全面详解(基础版)
  • 【uniapp原生】实时记录接口请求延迟,并生成写入文件到安卓设备
  • Linux的诞生:一场自由与协作的技术革命
  • DevOps原理和实现面试题及参考答案
  • Flutter 学习之旅 之 flutter 在 Android 端进行简单的打开前后相机预览 / 拍照保存
  • 自动驾驶测试场景相关概念
  • 【深度学习】循环神经网络案例讲解-基于 PyTorch 的中文歌词生成——RNN,LSTM,GRU 从数据预处理到预测全流程详解
  • 字符函数和字符串函数1
  • Java实现pdf文件压缩(aspose-pdf实现压缩、itextpdf去除aspose-pdf版权水印)
  • 设计模式——过滤器模式在 Spring 中的实践
  • 深度学习开源数据集大全:从入门到前沿
  • Tr0ll: 1靶场渗透测试
  • 基于JAVA+SpringBoot+Vue的前后端分离的职称评审管理系统
  • mamba_ssm和causal-conv1d详细安装教程
  • 有啥可以自己做网站的软件/开封网站推广
  • 做soho 怎么建立网站/个人网页设计制作网站模板
  • 用什么做网站方便/手机创建网站教程
  • 广州网站开发公司哪家好/口碑优化
  • 白云区网站开发公司电话/seo是什么意思知乎
  • 北京丰台区网站建设/seo排名推广工具