leetcode如何删除排序链表中的重复元素
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍leetcode如何删除排序链表中的重复元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!题目链接https://leetcode-cn.com/problem
千家信息网最后更新 2025年12月02日leetcode如何删除排序链表中的重复元素
这篇文章主要介绍leetcode如何删除排序链表中的重复元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
题目链接
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/
题目描述
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。
示例 1:
输入: 1->1->2输出: 1->2
示例 2:
输入: 1->1->2->3->3输出: 1->2->3
解题方案
思路
标签:链表
指定cur指针指向头部head
当cur和cur.next的存在为循环结束条件,当二者有一个不存在时说明链表没有去重复的必要了
当cur.val和cur.next.val相等时说明需要去重,则将cur的下一个指针指向下一个的下一个,这样就能达到去重复的效果
如果不相等则cur移动到下一个位置继续循环
时间复杂度:O(n)
代码
Java版本
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode deleteDuplicates(ListNode head) { ListNode cur = head; while(cur != null && cur.next != null) { if(cur.val == cur.next.val) { cur.next = cur.next.next; } else { cur = cur.next; } } return head; }}JavaScript版本
/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } *//** * @param {ListNode} head * @return {ListNode} */var deleteDuplicates = function(head) { var cur = head; while(cur && cur.next) { if(cur.val == cur.next.val) { cur.next = cur.next.next; } else { cur = cur.next; } } return head;};画解


以上是"leetcode如何删除排序链表中的重复元素"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
元素
排序
内容
指向
指针
版本
示例
篇文章
题目
循环
输入
输出
复杂
必要
代码
价值
位置
兴趣
复杂度
头部
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国产服务器操作系统股票
网络安全报怎么画又简单
access数据库有关问题
管家婆关闭数据库备份
护苗网络安全及网络防沉迷
手机无法连接到网络或服务器
软件开发专科能去北上广发展吗
陵水应该软件开发费用
移动光猫usb口打印服务器
数据库连接被污染
南阳定制软件开发公司
河北北斗授时服务器虚拟主机
网络安全用什么语言写简单
网络安全服务创业
监控服务器需要怎么设置
公安开展国家网络安全周
网络安全对于世界的意义
上海云网络技术报价
自动打印系统打印软件开发
手机邮件提示服务器密码错误
世纪联合网络技术
iso是什么软件开发的
哪个数据库有学术热点
沭阳自动化网络技术市场
以太网软件开发
汽车经济性数据库
上海手机app软件开发流程
数据库查询时为什么要使用别名
合肥互联网科技
中岛美雪翻唱软件开发