删除排序链表中的重复节点II(C++解法)
题目
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。
示例 1:

输入:head = [1,2,3,3,4,4,5] 输出:[1,2,5]
示例 2:

输入:head = [1,1,1,2,3] 输出:[2,3]
C++代码
#include <iostream>
using namespace std;//定义链表结构体
struct ListNode {int val;ListNode* next;ListNode() : val(0), next(nullptr) {}ListNode(int x) : val(x), next(nullptr) {}ListNode(int x, ListNode* next) : val(x), next(next) {}
};/*
* 删除排序链表中的重复节点问题
* 定义dummyNode哑节点和cur节点
* 判断cur->next和cur->next->next节点不为空
* while循环删除重复节点和节点本身
*/
ListNode* deleteDuplicates(ListNode* head) {if (!head) {return head;}ListNode* dummyNode = new ListNode(0, head);ListNode* cur = dummyNode;while (cur->next && cur->next->next) {if (cur->next->val == cur->next->next->val) {int x = cur->next->val;while (cur->next && cur->next->val == x) {cur->next = cur->next->next;}}else {cur = cur->next;}}ListNode* ans = dummyNode->next;delete dummyNode;return ans;
}int main() {ListNode* n1 = new ListNode(1);ListNode* n2 = new ListNode(2);ListNode* n3 = new ListNode(3);ListNode* n4 = new ListNode(3);ListNode* n5 = new ListNode(4);ListNode* n6 = new ListNode(4);ListNode* n7 = new ListNode(5);n1->next = n2;n2->next = n3;n3->next = n4;n4->next = n5;n5->next = n6;n6->next = n7;n7->next = nullptr;ListNode* head = n1;ListNode* ans = deleteDuplicates(head);while (ans) {cout << ans->val << " ";ans = ans->next;}delete n1, n2, n3, n4, n5, n6, n7;return 0;
}
分析
删除排序链表中的重复节点问题,定义 dummyNode 哑节点和 cur 节点,判断 cur->next 和 cur->next->next 节点不为空,while 循环删除重复节点和节点本身。
问题
本来想加一个pre节点增加代码可读性,但是写出来超时了,不知道什么问题。
相关文章:
删除排序链表中的重复节点II(C++解法)
题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5]示例 2: 输入:head [1…...
uniapp自定义tab切换css样式、uni-forms中input下拉等标签字体、过宽、溢出样式一系列调整(附加实战举例)
一、uniapp自定义tab切换css样式 <view class="tabs-container"><view class="tabs-list">...
windows server 2016-IIS静态服务器-设置详细过程
文章目录 1.打开仪表盘新建角色2.iis功能模块3.启动服务器4.优点 1.打开仪表盘新建角色 2.iis功能模块 能选上的尽量选上,除非知道自己用不上。 然后确认,下一步,安装。 3.启动服务器 搜索IIS,启动IIS管理器。 启动网站。 右…...
不一样的编程方式 —— 协程(设计原理与汇编实现)
主要通过以下9个方面来了解协程的原理: 目录 1、为什么使用协程 1.3、协程的适用场景 2、协程的原语操作 3、协程的切换 3.1、汇编实现 4.协程的运行流程 5.协程的结构体定义(我们其实可以参照线程或者进程的状态来设计) 5.1、多状态集合设计 6.协程的调度…...
Thinkphp6项目在虚拟机无法指向pulic的目录访问的方法
以阿里云虚拟主机为例,服务器环境为 LAMP,Apache2.4 php7.2 mysql5.7 1.根目录新建 index.php 文件,将以下内容放入文件中 <?php include ./public/index.php;2.将 public 目录下的 admin.php、backend 文件夹、static 文件夹、tinymc…...
数据结构(超详细讲解!!)第十八节 串(堆串)
1.定义 假设以一维数组heap [MAXSIZE] 表示可供字符串进行动态分配的存储空间,并设 int start 指向heap 中未分配区域的开始地址(初始化时start 0) 。在程序执行过程中,当生成一个新串时,就从start指示的位置起&#…...
idea集成测试插件替代postman
idea集成测试插件替代postman 兄弟萌,你再测试接口是否无bug是否流畅的时候是否还在使用“postman”来回切换进行测试呢? 页面切换进行测试,有没有感觉很麻烦呢? 打开postman,输入接口地址,有没有感觉很麻烦…...
clusterprolifer go kegg msigdbr 富集分析应该使用哪个数据集,GO?KEGG?Hallmark?
关注微信:生信小博士 5 Overview of enrichment analysis Chapter 5 Overview of enrichment analysis | Biomedical Knowledge Mining using GOSemSim and clusterProfiler 5.1.2 Gene Ontology (GO) Gene Ontology defines concepts/classes used to describ…...
Linux学习笔记1-入门
前言:之前的基于单片机的闭环控制步进电机项目其实已经完成了,但很多时间都花在调试和生产上,实在没时间去做总结笔记,现在又开始做新项目了,从单片机到了Linux,想用这个平台来督促自己继续学习,…...
怎样更有效的运营Etsy店铺?
大家都知道,Etsy作为一个重要的电商平台,给很多人提供了不少机会。但是如何取得etsy店铺运营的成功呢?第一步就是选好辅助工具。 什么是指纹浏览器? VMLogin指纹浏览器(www.vmlogin.com.cn) 是一种工具,通过伪装用户…...
Vue 项目中如何使用Bootstrap5(简单易懂)
Vue 项目中如何使用Bootstrap5(简单易懂) 安装在 src/main.js 文件下引入包在vue文件中使用 Bootstrap官网(中文):https://www.bootcss.com/ Bootstrap5文档:https://v5.bootcss.com/docs/getting-started/…...
k8s 资源预留
KUBERNETES资源管理之–资源预留 Kubernetes 的节点可以按照 Capacity 调度。node节点本身除了运行不少驱动 OS 和 Kubernetes 的系统守护进程,默认情况下 pod 能够使用节点全部可用容量, 除非为这些系统守护进程留出资源,否则它们将与 pod 争…...
微信小程序自定义弹窗阻止滑动冒泡catchtouchmove之后弹窗内部内容无法滑动
自定义弹窗 如图所示: 自定义弹窗内部有带滚动条的盒子区域 问题: 在盒子上滑动,页面如果超出一屏的话,也会跟着一起上下滚动 解决方案:给自定义弹窗 添加 catchtouchmove 事件,阻止冒泡即可 网上不少…...
Linux 命令速查
Network ping ping -c 3 -i 0.01 127.0.0.1 # -c 指定次数 # -i 指定时间间隔 日志 一般存放位置: /var/log,包含:系统连接日志 进程统计 错误日志 常见日志文件说明 日志功能access-logweb服务访问日志acct/pacct用户命令btmp记录失…...
第22期 | GPTSecurity周报
GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练 Transformer(GPT)、人工智能生成内容(AIGC)以及大型语言模型(LLM)等安全领域应用的知识。在这里,您可以…...
JavaScript前端 console 控制台详细解析与代码实例
JavaScript Console(控制台)是一个重要的工具,可以用于调试和测试 JavaScript 代码。在浏览器中,你可以使用控制台来查看 JavaScript 输出、测试代码、调试错误等。在本文中,我们将详细介绍控制台的常用功能和代码实例…...
idea中启动多例项目配置
多实例启动 日常本地开发微服务项目时,博主想要验证一下网关的负载均衡以及感知服务上下线能力时,需要用到多实例启动。 那么什么是多实例启动嘞?简单说就是能在本地同时启动多个同一服务。打个比方项目中有一个 MobileApplication 服务&…...
Activiti7流程结束监听事件中,抛出的异常无法被spring全局异常捕捉
ProcessRuntimeEventListener activiti7中,提供了ProcessRuntimeEventListener监听器,用于监听流程实例的结束事件 /*** 流程完成监听器*/ Slf4j Component public class ProcessCompleteListener implements ProcessRuntimeEventListener<ProcessC…...
Android 默认关闭自动旋转屏幕功能
Android 默认关闭自动旋转屏幕功能 接到客户邮件想要默认关闭设备的自动旋转屏幕功能,具体修改参照如下: /vendor/mediatek/proprietary/packages/apps/SettingsProvider/res/values/defaults.xml - <bool name"def_accelerometer_rotati…...
软文推广方案,媒介盒子分享
作为企业宣传的手段,它能用较低的成本获得较好的宣传效果,但有许多企业在进行软文推广时并不起效,这是因为没掌握好方法。今天媒介盒子就来告诉大家,通用的软文推广方案。 一、 明确推广目标以及受众 明确软文推广的目标有助于明…...
Readest(电子书阅读器)
链接:https://pan.quark.cn/s/34ee49565f01Readest是一款开源电子书阅读器,专为深度阅读体验而设计。它支持多种格式,如EPUB、MOBI、KF8AZW3、FB2、CBZ以及实验性的PDF格式。这款阅读器拥有沉浸式的阅读环境,可以在滚动和页面查看…...
CH32V003实战:PWM+DMA高效驱动WS2812B全彩灯带
1. 为什么选择PWMDMA驱动WS2812B? 第一次接触WS2812B灯带时,我尝试用最基础的GPIO翻转配合延时函数来控制,结果灯带要么不亮,要么颜色错乱。后来才明白,这种智能灯带对时序要求极其严格,普通MCU用软件延时…...
别再乱找数据集了!搞多模态大模型,这13个任务最常用的65个基准数据集我都帮你整理好了(附官网链接)
多模态大模型实战指南:65个核心数据集与13大任务全景解析 刚接触多模态大模型的研究者常会陷入"数据迷雾"——面对海量公开数据集却不知从何选起。我曾见过团队花费三周时间盲目测试不同视觉问答数据集,最终发现选用的基准与研究方向根本不匹…...
AgentCPM-Report开源模型教程:Pixel Epic在科研团队中的协作部署实践
AgentCPM-Report开源模型教程:Pixel Epic在科研团队中的协作部署实践 1. 项目介绍与核心价值 Pixel Epic是一款基于AgentCPM-Report大模型构建的创新型研究报告辅助工具。它将枯燥的科研工作流程转化为充满游戏化体验的交互过程,让团队成员在轻松愉悦的…...
5G NR物理层控制信令实战:从PDCCH盲解码到DCI格式解析
5G NR物理层控制信令实战:从PDCCH盲解码到DCI格式解析 在5G新空口(NR)系统中,物理层控制信令是实现高效资源调度和可靠数据传输的核心机制。作为无线通信协议栈开发工程师和网络优化人员,深入理解PDCCH盲解码机制、COR…...
如何通过MobaXterm中文版快速构建一体化远程管理环境
如何通过MobaXterm中文版快速构建一体化远程管理环境 【免费下载链接】Mobaxterm-Chinese Mobaxterm simplified Chinese version. Mobaxterm 的简体中文版. 项目地址: https://gitcode.com/gh_mirrors/mo/Mobaxterm-Chinese 远程管理工具的选择常常让系统管理员和开发者…...
Pixel Language Portal 开发环境搭建:Windows 系统 Visual Studio 完整配置
Pixel Language Portal 开发环境搭建:Windows 系统 Visual Studio 完整配置 1. 准备工作与环境要求 在开始搭建Pixel Language Portal开发环境之前,我们需要确保系统满足基本要求并准备好必要的工具。Windows 10或11系统都能很好地支持这套开发环境&am…...
Hotkey Detective:Windows热键冲突的智能诊断与解决方案
Hotkey Detective:Windows热键冲突的智能诊断与解决方案 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 在现代…...
如何快速实现React组件热更新:React Hot Loader终极指南 [特殊字符]
如何快速实现React组件热更新:React Hot Loader终极指南 🚀 【免费下载链接】react-hot-loader Tweak React components in real time. (Deprecated: use Fast Refresh instead.) 项目地址: https://gitcode.com/gh_mirrors/re/react-hot-loader …...
Seldon Core 2与Triton推理服务器集成:高性能GPU推理实战指南 [特殊字符]
Seldon Core 2与Triton推理服务器集成:高性能GPU推理实战指南 🚀 【免费下载链接】seldon-core An MLOps framework to package, deploy, monitor and manage thousands of production machine learning models 项目地址: https://gitcode.com/gh_mirr…...
