LeetCode中怎么删除排序链表中的重复元素
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,LeetCode中怎么删除排序链表中的重复元素,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。题目描述:给定一个排序链表,删除所有重复的元
千家信息网最后更新 2026年11月02日LeetCode中怎么删除排序链表中的重复元素
LeetCode中怎么删除排序链表中的重复元素,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
题目描述:
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2
输出: 1->2
示例 2:
输入: 1->1->2->3->3
输出: 1->2->3
思路分析:
这是一个简单的问题,仅测试你操作列表的结点指针的能力。由于输入的列表已排序,因此我们可以通过将结点的值与它之后的结点进行比较来确定它是否为重复结点。如果它是重复的,我们更改当前结点的 next 指针,以便它跳过下一个结点并直接指向下一个结点之后的结点。
复杂度分析
时间复杂度:O(n),因为列表中的每个结点都检查一次以确定它是否重复,所以总运行时间为 O(n),其中 n 是列表中的结点数。
空间复杂度:O(1),没有使用额外的空间。
Python实现
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def deleteDuplicates(self, head: ListNode) -> ListNode:
# 快慢指针
if not head:
return None
fast, slow = head, head
while fast:
if fast.val != slow.val:
slow.next = fast
slow = slow.next
fast = fast.next
slow.next = None
return head
java实现:
public ListNode deleteDuplicates(ListNode head) {
ListNode current = head;
while (current != null && current.next != null) {
if (current.next.val == current.val) {
current.next = current.next.next;
} else {
current = current.next;
}
}
return head;
}
另一个版本的实现:
class Solution {
public ListNode deleteDuplicates(ListNode head) {
if(head==null){
return head;
}
ListNode dummhead=new ListNode(0);
dummhead.next=head;
ListNode cur=head;
ListNode last=head.next;
while(last!=null){
if(cur.val==last.val){
ListNode tmp=null;
tmp=last.next;
cur.next=tmp;
last=tmp;
}else{
cur=last;
last=last.next;
}
}
return dummhead.next;
}
}
看完上述内容,你们掌握LeetCode中怎么删除排序链表中的重复元素的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
结点
元素
排序
复杂
复杂度
指针
问题
输入
内容
方法
时间
更多
示例
空间
分析
输出
束手无策
为此
原因
可以通过
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
A股互联网金融科技公司
互联网下的科技发展
互联网 科技
科技服务与互联网
宜安科技 互联网金融
上海致骋互联网科技
新浪科技互联网
广西互联网科技公司
重庆科技学院互联网
互联网科技创新服务
青岛科技大学互联网大赛研究生
亳州好赞互联网科技有限公司
互联网领先科技宣传片
半导体是互联网高科技吗
本届互联网大会上的黑科技
九思连强互联网电子科技有限公司
湖北辰鑫科技互联网
互联网领先科技活动
平安好医生打造互联网科技医疗
奔汉互联网科技
互联网金融 科技创新
狮子座互联网科技培训
互联网科技有限公司 翻译
字节跳动和互联网科技
佳云科技和互联网广告
福建科技产业互联网发展
富国互联网金融科技混合基金
上海创道互联网络科技有限公司
河南商务圈互联网科技有限公司