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

AcWing 29:删除链表中重复的节点

【题目来源】
https://www.acwing.com/problem/content/27/

【题目描述】
在一个
排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留

【数据范围】
链表中节点 val 值取值范围 [
0,100]。
链表长度 [0,100]。

【样例1】
输入:1->2->3->3->4->4->5
输出:1->2->5

【样例2】
输入:1->1->1->2->3
输出:2->3

【算法分析】
● 结构体构造函数:
https://blog.csdn.net/hnjzsyjyj/article/details/139553390
结构体的两种写法如下表所示。

结构体构造函数写法非结构体构造函数写法
struct LinkNode {
    int data;
    LinkNode* next;
    LinkNode(int x):data(x),next(NULL) {}
};
LinkNode* L=new LinkNode(123);
struct LinkNode {
    int data;
    LinkNode* next;
};
LinkNode* L=new LinkNode;
L->data=123;
L->next=NULL;

● 在本例中,链表已经确定且结点值已排序。由于首元结点 head 的值可能重复,故新建一个结点 L 指向首元结点 head。如果首元结点 head 的值重复的话,则改变结点 L 的 next 指向。

【算法代码】
本例代码以核心代码模式给出。

/*** Definition for singly-linked list.* struct ListNode{*     int val;*     ListNode *next;*     ListNode(int x):val(x),next(NULL){}* };*/class Solution {public:ListNode* deleteDuplication(ListNode* head) {auto L=new ListNode(-1);L->next=head;auto p=L;while(p->next) {auto q=p->next;while(q->next && q->next->val==p->next->val) q=q->next;if(q==p->next) p=q;else p->next=q->next;}return L->next;}
};





【参考文献】
https://www.acwing.com/solution/content/23660/
https://www.acwing.com/solution/content/735/
https://www.acwing.com/solution/content/53539/


 


http://www.mrgr.cn/news/69433.html

相关文章:

  • STM32 设计的较为复杂的物联网项目,包括智能家居控制系统,涵盖了硬件和软件的详细设计。
  • 启动QT时,出现找不到python27.dll的问题报错
  • 如何在 Ubuntu 22.04 上安装 ownCloud
  • C#实现在windows上实现指定句柄窗口的指定窗口坐标点击鼠标左键和右键的详细情况
  • SharePoint Online共享链接的参数是做什么的?
  • 【分布式】BASE理论
  • 动态规划 —— dp 问题-买卖股票的最佳时机含冷冻期
  • Mysql基础 03 pymysql库、事务命令
  • 《Python编程实训快速上手》第四天--字符串操作
  • 【Java 多线程】:线程状态 线程操作 线程同步
  • Oracle OCP认证考试考点详解082系列17
  • 如何处理模型的过拟合和欠拟合问题
  • python可视化进阶
  • 科研绘图系列:R语言文章组合图形(barplot scatterplot)
  • Gen-RecSys——一个通过生成和大规模语言模型发展起来的推荐系统
  • 青藤深度参编的终端安全国家标准正式发布
  • 电商系统中,如何解决部分商品在短时间大量访问的单一热点问题?------Range范围分片
  • rce代码层面
  • Asyncio是Python库,它允许我们使用async/await语法编写并发代码。学习如何使用此库编写异步代码。
  • 探索10款音频剪辑软件,让你轻松编辑声音。
  • 链表类算法【leetcode】
  • 记录一次性能优化流程
  • Controlnet作者新作IC-light V2:基于FLUX训练,支持处理风格化图像,细节远高于SD1.5
  • 【1】虚拟机安装
  • AI 写作(五)核心技术之文本摘要:分类与应用(5/10)
  • 从0开始学习机器学习--Day20--优化算法的思路