LeetCode怎样删除排序链表中的重复元素
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关LeetCode怎样删除排序链表中的重复元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,问题简述给定一个排序链表,删除所有含有重复
千家信息网最后更新 2025年02月02日LeetCode怎样删除排序链表中的重复元素
这篇文章将为大家详细讲解有关LeetCode怎样删除排序链表中的重复元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1,问题简述
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。
2,示例
示例 1:
输入: 1->2->3->3->4->4->5
输出: 1->2->5
示例 2:
输入: 1->1->1->2->3
输出: 2->3
3,题解思路
使用哨兵节点,结合键值对集合LinkedHashMap集合进行解决
4,题解程序
import java.util.*;
import java.util.stream.Collectors;
public class DeleteDuplicatesTest3 {
public static void main(String[] args) {
ListNode l1 = new ListNode(1);
ListNode l2 = new ListNode(2);
ListNode l3 = new ListNode(3);
ListNode l4 = new ListNode(3);
ListNode l5 = new ListNode(4);
ListNode l6 = new ListNode(4);
ListNode l7 = new ListNode(5);
l1.next = l2;
l2.next = l3;
l3.next = l4;
l4.next = l5;
l5.next = l6;
l6.next = l7;
ListNode listNode = deleteDuplicates(l1);
System.out.println("listNode = " + listNode);
}
public static ListNode deleteDuplicates(ListNode head) {
if (head == null) {
return null;
}
if (head.next == null) {
return head;
}
HashMap
hashMap = new LinkedHashMap<>(); ListNode dummyNode = head;
while (dummyNode != null) {
hashMap.put(dummyNode.val, hashMap.getOrDefault(dummyNode.val, 0) + 1);
dummyNode = dummyNode.next;
}
List
list = hashMap.entrySet().stream().filter(Objects::nonNull).filter(x -> x.getValue() == 1) .map(Map.Entry::getKey).collect(Collectors.toList());
ListNode newHead = new ListNode(-1);
int size = list.size();
ListNode tempNode = newHead;
for (int i = 0; i < size; i++) {
tempNode.next = new ListNode(list.get(i));
tempNode = tempNode.next;
}
return newHead.next;
}
}
5,题解程序图片版
关于"LeetCode怎样删除排序链表中的重复元素"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
排序
示例
篇文章
题解
元素
数字
更多
程序
节点
输入
输出
不错
原始
实用
内容
哨兵
图片
思路
文章
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库索引视图怎么用
软件开发项目报价
远程数据库怎么样
已创数据库的属性用cmd
网络安全绘画 初中
dell r220服务器主板
db2数据库查看字符集
数据库ds层是什么关系
实例讲解软件开发项目管理
怎么在远程桌面上拷贝数据库
福州榕基软件开发有限公司
高科技的网络安全
服务器底层管理员密码
网络安全责任制度初具形态
我与网络安全小学生作文
调兵山软件开发
常规服务器81端口开放么
网络安全检查情况描述
社区家长学校网络安全讲座
服务器上传速度测试
达梦数据库集群架构
自动气象站 数据库
七日杀单机版进不去服务器怎么办
微信连接服务器配置
aws代理服务器
饥荒专用服务器改房间名
嵌入式网页服务器中能添加图片吗
网络安全内墙和外墙
网络安全的演讲稿2000字
win10 代理 服务器