当前位置:网站首页>LeetCode 82. 删除排序链表中的重复元素 II
LeetCode 82. 删除排序链表中的重复元素 II
2022-08-10 11:09:00 【水菜笔】
原题网址:https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/
链表删除元素,如果有重复的,该数字将整体删除。
当前节点,从后面找第一个值不同的节点;如果是紧跟着的,说明数字没有重复;否则就删除整个数字
// 注意,这里的删除,并不是删除重复的值,而是只要数字重复了,那么这个数字都需要被删除
public ListNode deleteDuplicates(ListNode head) {
ListNode dummyHead = new ListNode(-1);
dummyHead.next = head;
ListNode node = dummyHead;
// 由于是要删除整体的,所以从要保留前一个节点,就是node.next
while(node.next != null) {
ListNode cur = node.next;
ListNode next = cur.next;
// 找第一个不同值的节点
while(next!=null && next.val == cur.val) {
next = next.next;
}
// 如果就在这个节点的后面,说明没有重复值,否则的话就删除这些重复的节点
if(cur.next != next) {
node.next = next;
} else {
node = node.next;
}
}
return dummyHead.next;
}
同样的题型:https://blog.csdn.net/qq_34501351/article/details/126187912?spm=1001.2014.3001.5501
一个是删除重复的,一个是整体删除。
保留一个的,所以可以不用虚拟节点,用cur遍历,删除后面的;
整体删除;则要取得前面的节点,所以要有虚拟节点,用node.next作为条件判断;
边栏推荐
- Nocalhost - Making development more efficient in the cloud-native era
- The brave rice rice, does not fear the brush list of 】 list has a ring
- 不止跑路,拯救误操作rm -rf /*的小伙儿
- mysql appears: ERROR 1524 (HY000): Plugin '123' is not loaded
- 1-IMU参数解析以及选择
- Double.doubleToLongBits()方法使用
- 使用哈工大LTP测试分词并且增加自定义字典
- 2022年裁员潮,失业程序员何去何从?
- blocking non-blocking poll mechanism asynchronous
- LeetCode50天刷题计划(Day 19—— 在排序数组中查找元素的第一个和最后一个位置(9.10-10.40)
猜你喜欢
使用哈工大LTP测试分词并且增加自定义字典
Intel pushes 20220809 CPU microcode update to patch Intel-SA-00657 security vulnerability
3款不同类型的自媒体免费工具,有效提高创作、运营效率
推荐6个自媒体领域,轻松易上手
基于UiAutomator2+PageObject模式开展APP自动化测试实战
VSCode remote connection server error: Could not establish connection to "xxxxxx" possible error reasons and solutions
项目部署、
L2 applications from a product perspective: why is it a playground?
实现内网穿透的最佳解决方案(无实名认证,完全免费)
关于振弦采集模块及采集仪振弦频率值准确率的问题
随机推荐
Centos7环境使用Mysql离线安装包安装Mysql5.7
Licking Exercise - 59 From Binary Search Trees to Greater Sum Trees
The impact of development mode on testing
Pulling drills - 56 Finding the right interval
Go 事,Gopher 要学的数字类型,变量,常量,运算符 ,第2篇
Short video software development - how to break the platform homogenization
【TypeScript】接口类型与类型别名:这两者的用法与区别分别是什么?
How to join We Media, learn about these 5 monetization modes, and make your account quickly monetize
Double.doubleToLongBits()方法使用
Redis常用命令
快手“弃”有赞与微盟“结亲”,电商SaaS行业竞争格局将变?
Nocalhost - 让云原生时代的开发更高效
如何使用工程仪器设备在线监测管理系统
从源码角度分析UUID的实现原理
单目操作符(含原码反码补码转换)
今天面了个腾讯拿38K出来的大佬,让我见识到了基础的天花板
微信小程序,全局变量一个地方改变了其他地方的状态也跟着改变。
Not just running away, but saving the guy who mishandled rm -rf /*
从脚本到剪辑,影像大师亲授的后期制作秘籍
快速上手,征服三种不同分布式架构调用方案