LeetCode中怎么删除排序链表中的重复元素
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,LeetCode中怎么删除排序链表中的重复元素,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。题目描述:给定一个排序链表,删除所有重复的元
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
五色服务器之灵云代码的简介
网络安全绝招感想
wamp的数据库账号
快手小店服务器繁忙
小糖互联网络科技有限公司官网
网络安全论文怎么写
mdb数据库最多少条数据
淮安移动网络安全吗
动漫软件开发行业利润
苏州浪潮服务器咨询客服
服务器电源1个和2个有什么区别
抖音 网络安全
湖北中烟网络安全知识竞赛
重庆软件开发培训机构排名
2020年网络安全新闻稿
魔兽世界启动数据库
淮南物业管理软件开发定制公司
小草app使用是什么网络技术
redis消息队列写入数据库
山东正规软件开发哪家实惠
回收网吧电脑服务器
wps内网服务器
数据库安全解决方法
手机玩游戏卡是不是服务器问题
癌症个体化诊疗数据库
蚌埠软件开发培训哪家专业
2020年网络安全工作计划
大二下转网络安全宣传周
数据库的拆分
美国独立服务器推荐