首页 > 其他分享 >83. 删除排序链表中的重复元素

83. 删除排序链表中的重复元素

时间:2022-10-14 09:59:25浏览次数:82  
标签:删除 重复 链表 83 思路 排序 指针

题目描述

给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。

示例代码

var removeDuplicates = function(nums) {
    if(nums.length===0) return 0;
    let slow=0,fast = 0;
    while(fast<nums.length){
        if(nums[fast]!==nums[slow])
        {
            slow++
            nums[slow] =nums[fast] 
        }
        fast++
    }
    return slow+1
};

解题思路

思路可以参考上一篇文章的思路
26. 删除有序数组中的重复项
思路与上一题相同,同样采用快慢指针的方法去检验节点内容是否相同,只不过这里换成了指针,同时要记得最后在返回时需要将慢指针后面的置为null,因为后面的已经是重复的了。

标签:删除,重复,链表,83,思路,排序,指针
From: https://www.cnblogs.com/zx529/p/16790602.html

相关文章

  • 代码随想录训练营第三天 |203.移除链表元素, 707.设计链表, 206.反转链表
    第三天是链表,要注意的是可以创建虚拟头节点来进行链表操作。203.移除链表元素classSolution{publicListNoderemoveElements(ListNodehead,intval){......
  • 插入排序
    插入排序的原理:将指针指向某元素(一般从第二个元素开始),假设该元素的左侧全部有序,将该元素抽取,然后按照从右往左的顺序分别与其左边的元素进行比较,遇到较大的元素便将较大的......
  • 选择排序,选择排序是对冒泡排序的改进,对数据量较大的排序效率会有很大提升
    选择排序的原理:从第一个元素开始,分别于后面的元素相比较,遇到最小值就交换位置,第一轮结束;从第二个元素开始,分别与后面的元素相比较,找到倒数第二小的元素,并交换位置,重复上述......
  • elasticsearch聚合查询之排序
    排序默认只能按两个字段排序:_count和_key 如果想按二次聚合结果中的字段排序语法如下: GEThow2java/product/_search//求每个地方商品数量,并按平均价格从高往低排......
  • 160. 相交链表
    题目描述给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。题目解释参考代码vargetInters......
  • 141. 环形链表
    题目描述给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内......
  • 876. 链表的中间结点
    题目描述给定一个头结点为head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。样例输入示例1:输入:[1,2,3,4,5]输出:此列表中的结点3......
  • Java数组06(冒泡排序)
    冒泡的代码两层循环,外层冒泡轮数,里层依次比较比较数组中,两个相邻的元素,如果的一个数比第二个数大,我们就交换他们的位置每一次比较,都会产生出一个最大,或者最小的数......
  • python使用xml.dom.minidom写xml节点属性会自动排序问题解决
    1.背景及问题一个xml文件,过滤掉部分节点,生成新的xml文件,但是生成后,发现节点的属性顺序变化了,根据key的字母信息排了序。如原始信息:<stringtypename="time_type"length......
  • 【算法】时间频度与时间复杂度、归并排序、StringBuffer和StringBuilder详解!
    算法中的时间频度与时间复杂度时间频度一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度......