千家信息网

leetcode如何删除排序链表中的重复元素

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍leetcode如何删除排序链表中的重复元素,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!题目链接https://leetcode-cn.com/problem
千家信息网最后更新 2025年02月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安全错误 数据库的锁怎样保障安全 怎么用模板创建数据库 sql 数据库如何指定排序 用服务器做家用机好吗 我的世界服务器红石工业 在服务器里怎么安全的建房子 如何增强网络安全知识一千字 网络安全在职研究生招生 山东存储服务器云服务器 与网络安全法有关的政策 网络安全科技馆是干嘛的 信息网络安全法律法规表格 网络安全 自查报告 新技术的应用对网络安全的影响 产品量产软件开发 江苏数据库防护箱推荐厂家 服务器scum刷物资 贵州网络安全系统怎么样 怎样在服务器上重建raid5 路由器管理里的虚拟服务器是什么 软件开发工期慢怎么跟客户解释 软件开发为什么工资那么高 显示其他数据库的表 手机直播app软件开发 网络安全与信息化的学习 绝地求生网络技术 南昌软件开发平均工资 软件开发为什么没女的 服务器已经断开连接 为客户提供网络安全防护服务 oracle数据库查询大于
0