当前位置: 首页 > 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的原因是因为指针移动的情况下,不开一个新的地址无法找到链表头返回

http://www.dtcms.com/a/76855.html

相关文章:

  • 解决远程卡在下载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系列笔记之微调数据集格式
  • 网络编程---创建客户端和服务端以及协议包
  • 开源免费一句话生成儿童故事视频核心思想解析
  • Java基础语法练习42(基本绘图-基本的事件处理机制-小坦克的绘制-键盘控制坦克移动)
  • leetcode-47.全排列II
  • 深度学习之防止过拟合
  • 【华三】路由器交换机忘记登入密码或super密码的重启操作
  • 打乱一维数组中的元素,并按照4个一组的方式添加到二维数组中
  • Python基础入门掌握(十五)
  • 删除 Git 历史提交记录中的大文件
  • 大数据学习(71)-三范式构成