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

单链表经典算法LeetCode--203.移除链表元素(两种方法解)

1.链接:. - 力扣(LeetCode)【点击即可跳转】

分析此题提供两种思路:

1.遍历原链表,将值为val的节点释放掉(双指针法)

 定义一个pcur指针指向头节点,定义一个prev指针指向NULL

需要注意:链表中有连续的val头节点就是val 的情况。

代码实现为:

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/
struct ListNode* removeElements(struct ListNode* head, int val)
{struct ListNode* prev, *pcur;prev = NULL;pcur = head;while (pcur) //pcur为空时,跳出循环{if (pcur->val != val) {prev = pcur; pcur = pcur->next; }else{ // 当pcur等于valstruct ListNode* pcurHead = pcur->next;            if (prev == NULL) // 头节点就为val的情况{ free(pcur); head = pcurHead; // 更新头节点pcur = pcurHead; // 然后把新的头节点的地址赋给pcur}else {   free(pcur); // 释放val元素prev->next = pcurHead; // pcurHead存的是pcur的next,所以直接赋给prev的nextpcur = pcurHead; // 然后让pcur指向下一个节点的地址}}}return head;
}

2.找值不为val的节点,尾插到新链表中

创建新链表,定义newTail指针进行尾插,定义pcur指针进行遍历

需要注意:在跳出循环后,将newTail指向下一个节点的指针置为空。

struct ListNode* removeElements(struct ListNode* head, int val)
{//创建一个空链表struct ListNode* newHead, * newTail;newHead = newTail = NULL;//遍历原链表struct ListNode* pcur = head;while (pcur){//找值不为val的节点,尾插到新链表中if (pcur->val != val){//链表为空if (newHead == NULL){newHead = newTail = pcur;}else//链表不为空{newTail->next = pcur;newTail = newTail->next;}}pcur = pcur->next;}if (newTail)newTail->next = NULL;return newHead;
}

感谢观看,如果对你有帮助,点赞支持一下吧^.^

相关文章:

单链表经典算法LeetCode--203.移除链表元素(两种方法解)

1.链接:. - 力扣(LeetCode)【点击即可跳转】 分析此题提供两种思路: 1.遍历原链表,将值为val的节点释放掉(双指针法) 定义一个pcur指针指向头节点,定义一个prev指针指向NULL 需要注…...

MySQL—子查询

目录 ▐ 子查询概述 ▐ 准备工作 ▐ 标量子查询 ▐ 列子查询 ▐ 表子查询 ▐ 多信息嵌套 ▐ 子查询概述 • 子查询也称嵌套查询,即在一个查询语句中又出现了查询语句 • 子查询可以出现在from 后面 或where后面 • 出现在 from 后称表子查询,结…...

ffmpeg 读取流报错: Non-monotonous DTS in output stream

在处理媒体文件时,我们可能会遇到各种错误,其中之一就是“Non-monotonous DTS in output stream 0:1; previous: 36963866, current: 36611997; changing to 36963867. This may result in incorrect timestamps in the output file.”这个错误通常发生在…...

yo!这里是socket网络编程相关介绍

目录 前言 基本概念 源ip&&目的ip 源端口号&&目的端口号 udp&&tcp初识 socket编程 网络字节序 socket常见接口 socket bind listen accept connect 地址转换函数 字符串转in_addr in_addr转字符串 套接字读写函数 recvfrom&&a…...

polars学习-03 数据类型转换

背景 polars学习系列文章,第3篇 数据类型转换。 该系列文章会分享到github,大家可以去下载jupyter文件 仓库地址:https://github.com/DataShare-duo/polars_learn 小编运行环境 import sysprint(python 版本:,sys.version.spli…...

IDC 权威认可!Aloudata 入选金融领域中数据管理分析服务最佳实践案例

近日,国际知名数据咨询机构 IDC 重磅发布了《IDC PeerScape:金融领域中数据管理分析服务最佳实践案例》报告,Aloudata 与招商银行联合打造的 DDH 数据研发运维一体化平台成功入选,Aloudata 的技术、产品实力,以及在金融…...

RSA与AES算法比较及应用场景推荐

摘要:在现代加密通信中,RSA算法和AES算法被广泛应用。RSA算法是一种非对称加密算法,而AES算法是一种对称加密算法。本文将对比分析这两种算法的原理、性能及适用场景,并给出相应的推荐建议。 一、RSA算法简介 RSA算法&#xff0…...

揭秘 HTTP 代理:增强在线活动的安全性和匿名性

HTTP 代理在保护您的在线隐私、增强安全性以及允许访问受限内容方面发挥着关键作用。了解 HTTP 代理的工作原理以及如何有效地利用它们可以让您掌控自己的在线状态和浏览体验。让我们深入研究 HTTP 代理的世界,探索它们的优势、应用程序以及最大化其效用的最佳实践。…...

【经验】mysql冷热数据分离

使用mysql存储时,为了提升数据的查询效率,降低磁盘存储压力等,我们常常使用"冷热数据分离"分离的方案。即,将数据从所谓的“热表”(即经常有写入和查询操作的活跃表)迁移到“冷表”(用…...

【机器学习-06】Scikit-Learn机器学习工具包进阶指南:机器学习分类模型实战与数据可视化分析

🎩 欢迎来到技术探索的奇幻世界👨‍💻 📜 个人主页:一伦明悦-CSDN博客 ✍🏻 作者简介: C软件开发、Python机器学习爱好者 🗣️ 互动与支持:💬评论 &…...

蓝桥杯国赛每日一题:日志统计(双指针)

题目描述: 小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有 N行。 其中每一行的格式是: ts id 表示在 ts时刻编号 id 的帖子收到一个”赞”。 现在小明想统计有哪些帖子曾经是”热帖”。 如果一个帖子曾在任意一个长…...

佛山MES公司(盈致mes系统服务商)助力企业实现智能制造

佛山是中国制造业著名的城市之一,拥有众多制造企业。随着科技的不断发展和智能制造的兴起,越来越多的企业开始意识到数字化生产管理的重要性,MES制造执行系统作为智能制造的关键技术之一,受到了越来越多企业的关注和应用。 在佛山…...

算法设计课第五周(贪心法实现活动选择问题)

目录 一、【实验目的】 二、【实验内容】 三、实验源代码 一、【实验目的】 (1)熟悉贪心法的设计思想 (2)理解贪心法的最优解与正确性证明之间的关系 (3)比较活动选择的各种“贪心”策略,…...

Ubuntu20.04右键打不开终端

今天用virtualbox安装了ubuntu20.04 问题:右键打开终端,怎么也打开不了! 点了也没反应,或者鼠标转小圈圈,然后也没有反应… 解决方法: 1、Ctrl Alt F6 先切换到终端访问界面 mac电脑 Ctrl Alt F6 …...

XML元素

XML 元素是XML文档中的基本组成单位&#xff0c;它由开始标签、结束标签和内容组成&#xff0c;格式如下&#xff1a; <element>content</element>常见的XML元素包括&#xff1a; 根元素&#xff08;Root Element&#xff09;&#xff1a;XML文档中的最外层元素&…...

融入新科技的SLM27211系列 120V, 3A/4.5A高低边高频门极驱动器兼容UCC27284,MAX15013A

SLM27211是高低边高频门极驱动器&#xff0c;集成了120V的自举二极管&#xff0c;支持高频大电流的输出&#xff0c;可在8V~17V的宽电压范围内驱动MOSFET&#xff0c;独立的高、低边驱动以方便控制&#xff0c;可用于半桥、全桥、双管正激和有源钳位正激等拓。有极好的开通、关…...

代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯

代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯 文章目录 代码随想录算法训练营Day 38| 动态规划part01 | 理论基础、509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯理论基础一、常规题目二、解题步骤…...

CSS拟物按钮

<div class"btn">F</div>.btn {margin: 150px 0 0 150px;display: flex;justify-content: center;align-items: center;width: 100px;height: 100px;background-color: #fff;border-radius: 20px;font-size: 50px;color: #333;/* 禁止选中文本 */user-se…...

websevere服务器从零搭建到上线(三)|IO多路复用小总结和服务器的基础框架

文章目录 epollselect和poll的优缺点epoll的原理以及优势epoll 好的网络服务器设计Reactor模型图解Reactor muduo库的Multiple Reactors模型 epoll select和poll的优缺点 1、单个进程能够监视的文件描述符的数量存在最大限制&#xff0c;通常是1024&#xff0c;当然可以更改数…...

解决宝塔Nginx和phpMyAdmin配置端口冲突问题

问题描述 在对基于宝塔面板的 Nginx 配置文件进行端口修改时&#xff0c;我注意到 phpMyAdmin 的端口配置似乎也随之发生了变化&#xff01; 解决方法 官方建议在处理 Nginx 配置时&#xff0c;应避免直接修改默认的配置文件&#xff0c;以确保系统的稳定性和简化后续的维护…...

刚学单片机的小白,聊聊我的学习目标和职业期待

大家好&#xff0c;我是一名智能科学与技术专业的大二学生&#xff0c;目前刚刚开始接触单片机&#xff0c;还是个实打实的小白。开这篇博客&#xff0c;主要是想记录自己的学习历程&#xff0c;也希望能和同样入门的同学一起交流、互相鼓励。一、自我介绍我目前大二&#xff0…...

5步搞定Qwen3-ASR语音识别:支持多语言和方言,快速上手教程

5步搞定Qwen3-ASR语音识别&#xff1a;支持多语言和方言&#xff0c;快速上手教程 语音识别技术正在改变我们与数字世界的交互方式&#xff0c;而Qwen3-ASR以其强大的多语言和方言支持能力脱颖而出。本文将带你用最简单的方式&#xff0c;在5个步骤内完成这个专业级语音识别系…...

C++ 编译器优化选项详解

C 编译器优化选项详解 在C开发中&#xff0c;编译器优化是提升程序性能的关键手段之一。通过合理配置优化选项&#xff0c;开发者可以在不修改代码逻辑的情况下&#xff0c;显著提高程序的运行效率&#xff0c;减少资源消耗。本文将深入探讨C编译器的优化选项&#xff0c;帮助…...

手把手教你用AI手势识别镜像:上传图片秒出彩虹骨骼图

手把手教你用AI手势识别镜像&#xff1a;上传图片秒出彩虹骨骼图 1. 快速了解AI手势识别镜像 今天要介绍的是一个非常实用的AI工具——基于MediaPipe Hands模型的手势识别镜像。这个工具最大的特点就是简单易用&#xff0c;你只需要上传一张包含手部的图片&#xff0c;它就能…...

Rufus高效使用实战指南:精通ext2/ext3/ext4文件系统格式化

Rufus高效使用实战指南&#xff1a;精通ext2/ext3/ext4文件系统格式化 【免费下载链接】rufus The Reliable USB Formatting Utility 项目地址: https://gitcode.com/GitHub_Trending/ru/rufus 在Linux系统管理和开发工作中&#xff0c;USB设备的格式化与启动盘制作是一…...

Qwen3.5-4B模型网络协议分析应用:模拟客户端与解析通信数据

Qwen3.5-4B模型网络协议分析应用&#xff1a;模拟客户端与解析通信数据 1. 网络协议分析的AI新思路 网络协议分析一直是运维工程师和安全研究人员的日常工作重点。传统方法需要人工查阅RFC文档、编写测试代码、分析抓包数据&#xff0c;整个过程耗时费力。Qwen3.5-4B模型的出…...

ARM架构Kylin V10上Kettle部署全攻略:从驱动配置到无界面运行

ARM架构Kylin V10上Kettle部署全攻略&#xff1a;从驱动配置到无界面运行 在国产化替代浪潮中&#xff0c;ARM架构服务器搭配麒麟操作系统已成为金融、政务等关键领域的基础设施标配。然而&#xff0c;当传统ETL工具Kettle遇上这套"全国产"环境&#xff0c;从驱动兼容…...

解决抖音直播数据实时采集难题的全栈方案:DouyinLiveWebFetcher实战指南

解决抖音直播数据实时采集难题的全栈方案&#xff1a;DouyinLiveWebFetcher实战指南 【免费下载链接】DouyinLiveWebFetcher 抖音直播间网页版的弹幕数据抓取&#xff08;2024最新版本&#xff09; 项目地址: https://gitcode.com/gh_mirrors/do/DouyinLiveWebFetcher 副…...

电缆电热耦合与热仿真:COMSOL中电缆铺设的热分析模拟与应用研究

电缆电热耦合仿真 comsol 电缆铺设热仿真电缆散热设计这事看起来简单&#xff0c;实操起来全是坑。上个月给某变电站做电缆沟热仿真&#xff0c;甲方拿着计算器咔咔按公式说肯定没问题&#xff0c;结果实测温度超了十几度。后来用COMSOL重新建模才发现&#xff0c;土壤热阻和邻…...

完整指南:使用wiliwili在Switch上实现本地视频播放的高效方案

完整指南&#xff1a;使用wiliwili在Switch上实现本地视频播放的高效方案 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端&#xff0c;目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wil…...