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

LeetCode 203. 移除链表元素 (C++实现)

1. 题目描述

给你一个链表的头节点 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. 解题思路

首先定义虚拟头结点dummy,dummy->next 为头结点,然后在定义一个指向虚拟头结点的指针cur,遍历链表,如果cur->next的值等于val,则cur->next = cur->next->next,否则cur = cur->next,最后返回动态头结点的下一个节点。

3. 代码实现

class Solution {
public:
    ListNode* removeElements(ListNode* head, int val) {
        ListNode* dummy = new ListNode(0);
        dummy->next = head;
        ListNode* cur = dummy;
        while(cur->next != nullptr)
        {
            if (cur->next->val == val)
            {
                cur->next = cur->next->next;
            }
            else
            {
                cur = cur->next;
            }
        } 
        return dummy->next;
    }
};

http://www.kler.cn/a/451663.html

相关文章:

  • 基于Spring Boot的阿坝州旅游系统
  • Django 模型中使用选择(choices):全面指南
  • LabVIEW软件开发的未来趋势
  • vue 基础学习
  • 今日总结 2024-12-24
  • Linux程序设计(第四版)| 学习笔记
  • CSES-1132 Tree Distances I(树的直径)
  • 云宏获亚太信息通讯科技大赛二等奖
  • 【河南新标】豫财预〔2024〕105号-《关于省级政务信息化建设项目支出预算标准的规定》-费用标准解读系列29
  • 线性代数期末总复习的点点滴滴(1)
  • 【Yonghong 企业日常问题 06】上传的文件不在白名单,修改allow.jar.digest属性添加允许上传的文件SH256值?
  • 【python实战】-- mtf覆盖率计算
  • 产品升级!Science子刊同款ARGs-HOST分析,get!
  • 【Python知识】Python面向对象编程知识
  • MySQL知识汇总(一)
  • Stable Diffusion WebUI Two Shot 项目常见问题解决方案
  • 在Android应用中实现条形码扫描与购物车功能
  • Linux系统在没有工具软件时如何简单测试串口?
  • Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
  • 15_HTML5 表单属性 --[HTML5 API 学习之旅]
  • Nginx 常用安全头
  • Linux(Centos 7.6)基本信息查看
  • Flutter:生成二维码
  • 鸿蒙开发使用axios请求后端网络服务出现该错误
  • 利用Python爬虫速卖通按关键字搜索AliExpress商品
  • 自动化 + 人工智能:投标行业的未来是什么样的?