LeetCode怎样删除排序链表中的重复元素
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章将为大家详细讲解有关LeetCode怎样删除排序链表中的重复元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,问题简述给定一个排序链表,删除所有含有重复
千家信息网最后更新 2024年11月17日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安全错误
数据库的锁怎样保障安全
监控服务器怎么查看运行多长时间
互联网科技运营部组织架构
服务器机房用电功率估算
网络技术200个文档
聊城app定制软件开发哪家靠谱
无线网络技术员主要工作
廉价航空服务器
上海哈罗软件开发工资待遇
看门狗2连接不上服务器怎么办
河北潮流软件开发服务价钱
智慧法院建设与网络安全
公共信息网络安全检查招聘
海通软件开发中心
方舟镇魂街服务器下载
计算机网络技术专科学什么
多样化的安装mysql数据库
数据库查询年龄语句大全
岳城小学网络安全
网络安全评审费合同模板
科慧数据库
运城盘古网络技术公司
数据库查一个月平均数
万方数据库查全率
阳江软件开发有哪些
服务器如何验证个人登入
服务器测试岗位技能
美国网络安全标准是
享玉财富互联网科技公司电话
软件开发培训班价格是多少
视频服务器的作用