千家信息网

如何使用java删除排序链表中的重复元素

发表于:2026-11-05 作者:千家信息网编辑
千家信息网最后更新 2026年11月05日,这篇文章将为大家详细讲解有关如何使用java删除排序链表中的重复元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。给定一个排序链表,删除所有含有重复数字的节点,只保
千家信息网最后更新 2026年11月05日如何使用java删除排序链表中的重复元素

这篇文章将为大家详细讲解有关如何使用java删除排序链表中的重复元素,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。

示例 1:

输入: 1->2->3->3->4->4->5

输出: 1->2->5

示例 2:

输入: 1->1->1->2->3

输出: 2->3

答案:

 1public ListNode deleteDuplicates1(ListNode head) {
2 if (head == null) return null;
3 ListNode FakeHead = new ListNode(0);
4 FakeHead.next = head;
5 ListNode pre = FakeHead;
6 ListNode cur = head;
7 while (cur != null) {
8 while (cur.next != null && cur.val == cur.next.val) {
9 cur = cur.next;
10 }
11 if (pre.next == cur) {
12 pre = pre.next;
13 } else {
14 pre.next = cur.next;
15 }
16 cur = cur.next;
17 }
18 return FakeHead.next;
19}

解析:

因为是排序,这就好办了,如果前节点和下一个节点相同的时候,在删除下一个节点的时候要保证当前节点也要被删除掉。这题不是很难,解法也比较多,下面再来看一个递归的解法

 1public ListNode deleteDuplicates2(ListNode head) {
2 if (head == null || head.next == null) return head;
3 if (head.val != head.next.val) {
4 head.next = deleteDuplicates2(head.next);
5 return head;
6 } else {
7 while (head.next != null && head.val == head.next.val)
8 head = head.next;
9 return deleteDuplicates2(head.next);
10 }
11}

这种递归的方式上一种更简洁,理解起来页稍微让一些。

Java的特点有哪些

Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

关于"如何使用java删除排序链表中的重复元素"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

节点 排序 程序 对象 应用程序 特点 篇文章 应用 元素 分布式 数字 方式 时候 更多 示例 系统 解法 语言 递归 编程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技有限公司 互联网科技公司经营范围 蓝思科技飞鸽互联网 中国互联网科技工作委员会毛军 新华互联网科技学校 科技赋能下的互联网金融 互联网下的科技发展 互联网最新的科技有限公司 奇酷互联网科技公司 互联网科技公司名称 互联网 科技服务平台 哈尔滨秒房互联网科技有限公司 以后互联网后是啥科技 银川新华互联网科技学校联系电话 伍佰万互联网科技怎么赚钱 互联网与数字科技关系 互联网硬科技公司 杭州科技互联网公司有哪些 安徽九吞吴互联网科技有限公司 互联网的黑科技实验室 猪兼强互联网科技 西安互联网科技 阿里巴巴算科技企业还是互联网 互联网科技革命什么开始 烟台灵鸽互联网科技有限公司 沐思想互联网科技有限公司 互联网第三次科技革命特征 易租星互联网科技有限公司 青岛易易互联网科技 东风日产互联网科技公司叫什么
0