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

力扣面试150题--删除排序链表中的重复元素 II

Day 37

题目描述

在这里插入图片描述

思路

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode deleteDuplicates(ListNode head) {ListNode before=new ListNode();before.next=head;//空头结点ListNode x=head;//指向当前结点ListNode b=before;//指向前一个节点int num=-101;//存放前一个的值int m=0;ListNode d=before;//d指向前一个的前一个while(x!=null){//遍历if(x.val==num){//说明发生了重复b.next=x.next;//删除x=x.next;//下一个m=1;//说明这个起始重复的也不能留}else{if(m==1){//删除第一个重复的元素d.next=b.next;num=x.val;//更新此时的值b=d.next;//删除第一个重复的x=x.next;m=0;}else{d=b;//更新d为不重复的前一个 用于删除第一个重复的num=x.val;b=b.next;x=x.next;}}}if(x==null&&m==1){//最后需要处理最后一个重复的第一个d.next=b.next;}return before.next;}
}
http://www.xdnf.cn/news/3087.html

相关文章:

  • 4.29[Q]NLP-Exp2
  • uni-app - 小程序使用高德地图完整版
  • Snap7西门子PLC通信协议
  • 【Python魔法方法(特殊方法)】
  • VSCode Verilog编辑仿真环境搭建
  • 松灵PiPER强势突围,攻克具身智能“数据壁垒”
  • [逆向工程]深入理解计算机中的“栈”
  • 内容/社区APP增长:用Deeplink让用户分享的内容“一键直达”
  • 4.2.4 MYSQL的缓存策略
  • C++中vector的扩容过程是怎样的?
  • ARP渗透学习1
  • 农村供水智能化远程监控解决方案
  • std::optional 类是个啥?
  • esp32将partitions.csv文件启用到工程项目中的配置
  • antd pro4 升级 antd5
  • 深入解析:实现一个详细的日志过滤器(LogFilter)
  • 2025年渗透测试面试题总结-拷打题库25(题目+回答)
  • 30天通过软考高项-第一天
  • 刀客doc:小红书商业技术负责人苍响离职
  • 信息系统项目管理师——第10章 项目进度管理 笔记
  • 解决Ollama run qwen3:32b: Error: unable to load model问题
  • 阵列麦克风降噪原理
  • 记录一个单独读取evt.bdf的方法
  • 头歌java课程实验(文件操作)
  • 【CF】Day46——Codeforces Round 967 (Div. 2) B
  • 2025年高级Java后端面试题:最新技术体系深度解析
  • java发送邮件
  • 运行不会存储上一次的命令;运行命令不保存历史记录
  • 算法备案类型解析:如何判断你的算法属于哪种类型?
  • conda添加新python版本环境,如何激活和销毁