当前位置: 首页 > article >正文

删除排序链表中的重复元素(js实现,LeetCode:83)

看到这道题的第一反应是使用快慢指针,之前做过类似的题:删除有序数组中的重复项(js实现,LeetCode:26)原理都是一样,区别是这题需要将重复项删除,所以只需要走一遍单循环就可以实现

/**
 * Definition for singly-linked list.
 * function ListNode(val, next) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.next = (next===undefined ? null : next)
 * }
 */
/**
 * @param {ListNode} head
 * @return {ListNode}
 */
var deleteDuplicates = function(head) {
    if(!head) return head
    let cur = head
    while(cur.next){
        if(cur.val===cur.next.val){
            cur.next=cur.next.next
        }else{
            cur=cur.next
        }
    }
    return head
};

这里开一个cur来代替head的原因是因为指针移动的情况下,不开一个新的地址无法找到链表头返回


http://www.kler.cn/a/591826.html

相关文章:

  • C++ —— 时间操作 chrono 库
  • DeepLearning:卷积神经网络基础补充
  • python实现接口自动化
  • Paper Reading: AnomalyGPT:利用大型视觉-语言模型检测工业异常 (AAAI 2024 Oral)
  • 20. Excel 自动化:Excel 对象模型
  • Springboot中的@ConditionalOnBean注解:使用指南与最佳实践
  • 4.2 Reactive 对象的深度类型约束方案
  • linux 命令 cp
  • Pycharm接入DeepSeek,提升自动化脚本的写作效率
  • 基于YOLOv8深度学习的PCB缺陷检测识别系统【python源码+GUI界面+数据集+训练代码】
  • C# BindingFlags 使用详解
  • 在linux 系统下的qt 安装mqtt库
  • maven在idea上搭建
  • flutter 专题 九十八 Flutter 1.7正式版发布
  • WPF 开发从入门到进阶(五)
  • JAVA EE(9)——线程安全——锁策略CAS
  • 【安全运营】用户与实体行为分析(UEBA)浅析
  • Lua语言的自动化测试
  • 【python】带有\n的json字符串,如何优雅打印
  • goweb中文件上传和文件下载