做题顺便把单链表基础操作学透了之LeetCode707. 设计链表
设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。
在链表类中实现这些功能:
get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。
addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。
addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。
addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。
deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。
文章链接
相关推荐
leetcode530-leetcode::grinning_face_with_smiling_eyes:(593/800)顺便学算法,学c++
leetcode 530 leetcode 学习算法,顺便学习c++ :money_bag: 意味着这些问题可供订阅用户使用 算法 # 标题 解决方案 困难 1 简单的 2 中等的 3 中等的 4 难的 5 中等的 6 中等的 7 简单的 8 中等的 9 简单的 10 难的 11 中等的 12 中等的 13 简单的 14 简单的 15 中等的 16 中等的 17 中等的 18 中等的 19 中等的 20 简单的 21 简单的 22 中等的 23 难的 24 中等的 25 难的 26 简单的 27 简单的 28 简单的 29 中等的 30 难的 31 中等的 32 难的 33 中等的 34 中等的 35 简单的 36 中等的 38 简单的 39 中等的 40 中等的 41 难的 42 难的 43 中等的 44 难的 45 难的 46 中等的 47 中等的 48 中等的 49 中等的 50 中等的 51 难的 52 难的 53 简单的 54 中等的 55 中等的 56 中等的 57 难的 58 简单的 59 中等的 60 中等的 61 中等的 62 中等的 63 中等的 64 中等的 65 难的 66 简单的
leetcode分类-leetcode-rust:leetcode的rust版本,顺便使用rust来练手
leetcode 分类 leetcode-rust leetcode的rust版本,顺便使用rust来练手 参考 PS:rust对链表、树等指针类的数据结构都十分不友好,有时候写起来甚至想骂人~~
leetcode200java-More-LeetCode:最近终于开始接触项目之外的开发了,顺便尝试下记录写题的过程,并形成规划以做激励
leetcode 200 java More-LeetCode 最近终于开始接触项目之外的开发了,顺便尝试下记录写题的过程,并形成规划以做激励 Medium NO. Title Solution Note Tag 79 图 回溯 78 NULL 回溯 集合 46 集合 22 回溯 17 200 NULL 图 遍历 230 二叉搜索树 297 NULL 序列化 工具类
leetcoderust-rust-leetcode:学习Rust,顺便刷一刷leetcode
leetcode rust rust-leetcode 学习 Rust,顺便刷一刷 leetcode,开这个 blog,用来自我监督。 Flag:每周至少刷 3 道题
leetcode题库-leetcode-[removed]LeetCode刷题与总结
leetcode题库 leetcode-JavaScript 本仓库用于存放个人LeetCode刷题记录 若能为读者提供帮助,请自用,顺便点个 star,将感激不尽 所有的题目均按标签分好了类,有些题设计到多个知识点,但没有重复分类 即使题解只有一种解法,但都有解法1,解法2标题,这是为了之后更新做准备,欢迎 watch 题解均在LeetCode中提交运行,若有笔误,请指正,谢谢


