首页 > 其他分享 >JS 链表 - 笔记

JS 链表 - 笔记

时间:2024-03-13 11:46:03浏览次数:29  
标签:index head ListNode 笔记 next 链表 param n0 JS

代码:

class ListNode {
    /**
     * @constructor
     * @param {number} val 
     * @param {ListNode} next 
     */
    constructor(val, next) {
        this.val = (val === undefined ? 0 : val);
        this.next = (next === undefined ? null : next);
    }

    /**
     * 在n0节点后插入新节点
     * @param {ListNode} n0 
     * @param {ListNode} P 
     */
    insert(n0, P) {
        const n1 = n0.next;
        P.next = n1;
        n0.next = P;
    }

    /**
     * 删除n0后的节点
     * @param {ListNode} n0 
     */
    remove(n0) {
        if (!n0.next) {
            return;
        }
        const P = n0.next;
        const n1 = P.next;
        n0.next = n1;
    }

    /**
     * 访问链表中第index个元素
     * @param {ListNode} head 
     * @param {number} index
     * @return {ListNode}
     */
    access(head, index) {
        for (let i = 0; i < index; i++) {
            if (!head) {
                return null;
            }
            head = head.next;
        }

        return head;
    }

    /**
     * 查找值为target的首个节点的索引
     * @param {ListNode} head 
     * @param {ListNode} target
     */
    find(head, target) {
        let index = 0;
        while (head !== null) {
            if (head.val === target) {
                return index;
            }
            head = head.next;
            index += 1;
        }

        return -1;
    }
}

 

标签:index,head,ListNode,笔记,next,链表,param,n0,JS
From: https://www.cnblogs.com/fanqshun/p/18070290

相关文章

  • Python学习笔记-Flask实现简单的投票程序
    1.导入flask包 fromflaskimportFlask,jsonify,abort,make_response,request,render_template2.初始化Flask应用:app=Flask(__name__)3. 定义投票种类data=[{'id':0,'name':'劳动节','num':0},{'id':1,'name&#......
  • C#集合和数据结构,随笔记录
    C#集合和数据结构System.Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表/链表、位数组、哈希表、队列和堆栈)的集合            System.Collections.Generic命名空间:所有集合都直接或间接基于ICollection接口列表类集合类型:集合类型基......
  • JS 监听浏览器各个标签间的切换-visibilitychange事件介绍
    文章目录一、JS监听浏览器各个标签间的切换二、document的可见性属性三、示例:监听标签,控制视频播放与暂停一、JS监听浏览器各个标签间的切换以前看到过一些网页,在标签切换到其它地址时,网页上的标题上会发生变化,一直不知道这个是怎么做的,最近查了一些资料才发现......
  • C语言自学笔记4----C语言存储类
    C语言存储类存储类定义C程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出C程序中可用的存储类:autoregisterstaticexternauto存储类auto存储类是所有局部变量默认的存储类。{intmount;autointmonth;}上面的示......
  • js实现大文件分片上传
    一个上传组件,需要具备的功能:需要校验文件格式可以上传任何文件,包括超大的视频文件(切片)上传期间断网后,再次联网可以继续上传(断点续传)要有进度条提示已经上传过同一个文件后,直接上传完成(秒传)前后端分工:前端:文件格式校验文件切片、md5计算发起检查请求,把当前文件的hash发送给服务......
  • 学习C51单片机——动态数码管显示(学习笔记Keil5)
    学习C51单片机——动态数码管显示(学习笔记Keil5)文章目录学习C51单片机——动态数码管显示(学习笔记Keil5)1、延时函数2、数码管动态显示1、延时函数延时100msvoidDelay100ms(void) //@12.000MHz{ unsignedchardatai,j; i=195; j=138; do { while......
  • 动手学深度学习Pytorch 2.3线性代数-笔记
    标量标量——仅包含一个数值,由只有一个元素的张量表示变量——未知的标量值例,将华氏度值转换为摄氏度的计算表达式​,其中5、9、32为标量,c和f为变量。实例化两个标量并进行算术运算 importtorch ​ x=torch.tensor(3.0) y=torch.tensor(2.0) print(x+y,x......
  • 技术笔记(8)git的部分进阶功能
    技术笔记(8)git的部分进阶功能‍学习笔记:‍与分支有关的git操作branch、checkout、merge查看分支:查看当前分支信息:gitbranch查看远程分支信息:gitbranch-r查看所有分支信息,包括本地和远程:gitbranch-a分支与分支:切换到某分支:gitcheckout从当前节点新建......
  • JS ATM练习案例(复习循环知识)
    需求:用户可以选择存钱、取钱、查看余额和退出功能。分析:1循环时反复出现提示框,所以提示框写到循环里面。2.退出的条件是4,所以是4就会结束循环3.提前准备一个金额预存储4取钱为减法操作,存钱为加法操作,查看为直接显示数额。5输入不同的值,可以用switch来执行不同操作。<!D......
  • 做题笔记2024.03
    2024.03.12#1CapitalismCF1450E奇环显然无解有解就直接差分约束就行https://www.luogu.com.cn/record/150592177[2024.03.12#2LEGOndaryGrandmasterCF1615F]不是自己想的/kk看了题解,感觉都说这个转换是显然的,还是太菜考虑将所有偶数位的数先翻转一次,这样原来的操作......