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

算法题(50):删除排序链表中的重复元素 II

审题:

需要我们把链表中出现了两次及以上的数据从链表中删除,并返回新的链表的头结点

思路:
其实说是要删除链表,我们只需要建立一个哨兵节点,然后把只出现一次的数据的节点链接上即可

方法一:双指针

我们利用prvnode指针指向前一个节点,用cur指针指向当前遍历到的节点。

当cur的值和val相同说明是重复数据:更新cur和prvnode指针,然后count++

当不同时

若count==1:说明该数据只出现了一次,执行插入操作

若coutn!=1: 说明上一个节点出现多次,不用插入,然后将count置为1

全部遍历完之后,可能会出现最后一个数据是只出现一次但是还没插入的情况,出循环后若count==1则满足这种情况,需要进行链接

解题:

(1)预处理:变量创建

(2)核心代码

1.插入数据到返回链表的时候注意将插入节点的后面断掉,若不断掉返回的时候会出现不应插入的数据被连接在返回链表中的情况

(3)尾处理


82. 删除排序链表中的重复元素 II - 力扣(LeetCode)


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

相关文章:

  • Shodan Dorks安装指南,通过Shodan搜索漏洞
  • 云计算技术深度解析与代码使用案例
  • 穿心莲内酯(andrographolide)生物合成CYP72-文献精读106
  • PC端实现PDF预览(支持后端返回文件流 || 返回文件URL)
  • Python3 OS模块中的文件/目录方法说明十二
  • 2025美国大学生数学建模竞赛美赛E题成品参考论文(48页)(含模型,可运行代码,求解结果)
  • ML基础——分类模型的评估指标
  • STM32 TIM定时器配置
  • 虚幻基础08:组件接口
  • 在ubuntu下一键安装 Open WebUI
  • 能够对设备的历史数据进行学习与分析,通过与设备当前状态的比对,识别潜在故障并做出预判的名厨亮灶开源了。
  • 宝塔安装完redis 如何访问
  • 信息学奥赛一本通 1396:病毒(virus)
  • c++多态
  • JavaScript逆向高阶指南:突破基础,掌握核心逆向技术
  • Nginx 开发总结
  • 《网络数据安全管理条例》施行,企业如何推进未成年人个人信息保护(上)
  • 深入探索C++17的std::any:类型擦除与泛型编程的利器
  • STM32 LED呼吸灯
  • pycharm(2)
  • noteboolm 使用笔记
  • 面向对象编程简史
  • Facebook如何应对全球范围内的隐私保护挑战
  • Python vLLM 实战应用指南
  • OpenCV:图像轮廓
  • 二叉树的最大深度(遍历思想+分解思想)