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

删除排序链表中的重复元素(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的原因是因为指针移动的情况下,不开一个新的地址无法找到链表头返回

相关文章:

  • 解决远程卡在下载vscode-server的问题,一键安装脚本
  • 网站搭建(node.js安装后hexo无法安装的修复步骤)
  • C语言之数据结构:链表
  • 嵌入式硬件篇---龙芯UART通信
  • vscode使用ssh同时连接主机CentOS:user和ubuntu20.04:docker
  • MATLAB 2024b深度学习新特性全面解析与DeepSeek大模型集成开发
  • vue:组件的使用
  • Qt 实操记录:打造自己的“ QQ 音乐播放器”
  • Pycharm接入DeepSeek,提升自动化脚本的写作效率
  • 【css酷炫效果】纯CSS实现故障文字特效
  • 设计模式(创建型)-单例模式
  • 【前端面试题】闭包和其应用
  • 安卓apk加固后,Android11+无法安装
  • 在NET6项目中报错,未能在命名空间System.Data.SqlClient中找到类型名SqlCommand,解决办法
  • 一次由IDEA配置引发的Redis连接问题
  • 区块链赋能:用Python开发去中心化投票系统
  • 清晰易懂的Node.js安装教程
  • 五种方案实现双链路可靠数据传输
  • IntelliJ IDEA 调试技巧指南
  • LLM系列笔记之微调数据集格式
  • A股三大股指涨跌互现:3343股收涨,两市成交超1.1万亿元
  • 街区党支部书记们亮出治理实招,解锁“善治街区二十法”
  • 浦发银行一季度净利175.98亿增1.02%,不良率微降
  • 中信银行一季度净利195.09亿增1.66%,不良率持平
  • 浙江官宣:五一假期,没电、没气、没油车辆全部免费拖离高速
  • 现场|西岸美术馆与蓬皮杜启动新五年合作,新展今开幕