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

力扣刷题:删除排序链表的重复元素Ⅱ

题目:
给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。

示例 1:

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

示例2:

输入:head = [1,1,1,2,3]
输出:[2,3]

解析:
方法:双指针 + 虚拟头节点

  1. 使用虚拟头节点简化边界情况处理(特别是头节点可能被删除的情况)

  2. 用两个指针:

  • r:指向已确认不重复的最后一个节点

  • q:探索当前节点后面是否有重复值

  1. 通过判断 q 是否移动来确定当前节点是否重复

具体代码:

/** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @param {ListNode} head * @return {ListNode} */vardeleteDuplicates=function(head){//设置虚拟头结点letpre=newListNode(0,head);//设置指针指向虚拟头结点letr=pre;while(r.next){letq=r.nextwhile(q.next&&q.val===q.next.val){q=q.next}if(q===r.next){r=r.next}else{r.next=q.next}}returnpre.next};
http://www.cnnetsun.cn/news/63928.html

相关文章:

  • 用LittleFS快速构建物联网设备数据存储原型
  • 传统排错vsAI辅助:解决Ollama错误效率对比
  • 实战:用XUnity翻译为独立游戏添加15种语言支持
  • 5个真实场景下的list转string实战案例解析
  • 1小时打造证书错误监控原型:快马平台实战演示
  • 企业级Tomcat集群安装实战:从单机到高可用部署
  • CAN FD零基础入门:用快马平台10分钟创建第一个项目
  • 30分钟快速开发Win11 C盘清理工具原型
  • 企业级项目实战:Git团队协作代码拉取全流程
  • 如何用AI自动生成LittleFS嵌入式文件系统代码
  • 传统Cron配置 vs AI生成:效率提升10倍的秘密
  • 企业级项目实战:解决Gradle JVM版本冲突的5种方法
  • AI如何帮你快速开发小说阅读App?
  • CppCon 2024 学习:Implementing Particle Filters With Ranges
  • DDS入门指南:零基础搭建第一个分布式通信应用
  • 小白必看:Windows安装FFmpeg图文详解
  • Leaflet中文文档实战:疫情数据可视化地图开发指南
  • AI如何优化锁相环电路设计?
  • OpenMP入门:零基础写出第一个并行程序
  • AI如何帮你快速掌握Modbus TCP协议开发
  • 3分钟搞定Java环境:Cursor vs 传统方式效率对比
  • 3步快速验证你的Adobe弹窗解决方案
  • 深度学习模型加载实战:解决权重加载失败的5种方法
  • 企业级时间同步方案:国内NTP服务器实战部署
  • AI帮你写Git提交信息:告别手动Commit描述
  • 同城自助KTV预约:JAVA线上系统超给力
  • 用Vue3 inject快速搭建可插拔插件系统
  • 零基础入门:10分钟学会EasyPlayer.js的基本使用
  • Yande引擎入口在企业内部文档搜索中的应用
  • Python多线程编程入门:ThreadPoolExecutor保姆级教程