删除排序链表中的重复节点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…...
软文推广方案,媒介盒子分享
作为企业宣传的手段,它能用较低的成本获得较好的宣传效果,但有许多企业在进行软文推广时并不起效,这是因为没掌握好方法。今天媒介盒子就来告诉大家,通用的软文推广方案。 一、 明确推广目标以及受众 明确软文推广的目标有助于明…...
Camoufox反检测浏览器:深度伪造Canvas/WebGL/Audio指纹
1. 这不是浏览器,而是一套“数字伪装系统”:Camoufox的本质定位很多人第一次看到“Camoufox反检测浏览器”时,下意识会把它当成一个“长得像Firefox的爬虫工具”,甚至有人直接把它和普通无头浏览器、SeleniumUser-Agent轮换方案划…...
Outlook CVE-2023-36895:MAPI与HTML渲染器间的类型混淆漏洞
1. 这个漏洞不是“点开邮件就中招”,但比你想象的更危险CVE-2023-36895,微软在2023年8月补丁星期二发布的那个Outlook远程代码执行漏洞,标题里写着“远程代码执行”,很多人第一反应是:“完了,我昨天刚看了封…...
机器学习赋能密度泛函理论:构建半局域交换关联泛函攻克强关联体系
1. 项目概述与核心思路在计算凝聚态物理和量子化学领域,密度泛函理论(Density Functional Theory, DFT)无疑是过去几十年里最成功的“第一性原理”计算方法。它的核心魅力在于,通过Hohenberg-Kohn定理,将描述N个相互作…...
机器学习赋能非结构网格CFD:GNN、PINN与降阶建模实战
1. 项目概述:机器学习如何重塑非结构网格CFD 在计算流体力学(CFD)领域,非结构网格是处理复杂几何形状的“瑞士军刀”。与规则排列的结构化网格不同,非结构网格由不规则分布的节点和单元(如三角形、四面体&a…...
符号回归在超快磁动力学研究中的应用:从数据中挖掘物理规律
1. 项目概述:当机器学习遇见超快磁动力学 在自旋电子学这个前沿领域,我们一直在与时间赛跑。从纳秒级的磁畴翻转,到飞秒级的超快退磁,理解磁性材料在不同时间尺度下的行为,是设计下一代高速、高密度存储器和逻辑器件的…...
LeetCode 523:连续的子数组和 | 前缀和同余定理
LeetCode 523:连续的子数组和 | 前缀和同余定理 引言 连续的子数组和(Continuous Subarray Sum)是 LeetCode 第 523 题,难度为 Medium。题目要求判断数组中是否存在长度至少为 2 的连续子数组,其元素和是 K 的倍数。这…...
FPGA在材料测试中的高精度控制与并行处理应用
1. FPGA在材料测试领域的革新价值 材料测试设备作为工业质量控制的核心装备,其性能直接影响着从汽车安全气囊到医疗植入物的产品可靠性。传统基于通用微控制器的测试系统正面临三大技术瓶颈:首先是测试标准迭代速度快,ASTM、ISO等组织每年新增…...
AI安全实战:生成式AI安全防御的实战技巧
AI安全实战:生成式AI安全防御的实战技巧📝 本章学习目标:本章聚焦实战应用,通过案例帮助读者将理论转化为实践能力。通过本章学习,你将全面掌握"AI安全实战:生成式AI安全防御的实战技巧"这一核心…...
AI司法应用中的算法公平性:从数据偏见到保护属性选择的技术实践
1. 项目概述:当算法开始“断案”,公平性成了第一道坎最近几年,AI系统在司法领域的渗透速度远超很多人的想象。从辅助量刑建议、评估再犯风险,到自动化审阅海量卷宗,算法正试图将法官和检察官从繁重的重复性劳动中解放出…...
基于RNN的数字-实体关系抽取:从非结构化文本中提取结构化信息
1. 项目概述与核心价值在信息爆炸的时代,我们每天都会接触到海量的非结构化文本,比如医学文献、金融报告、新闻资讯。这些文本中蕴含着大量有价值的结构化信息,例如“患者平均年龄67.6岁”、“手术成功率为38%”、“公司营收增长15%”。传统上…...
