加载中...
标签详情
链表 分类
  文章标签
排序 197 算法 1 django 64 npm 2 Artifactory 2 Docker 2 CI/CD 4 认证 2 MongoDB 2 mongosh 2 权限 2 系统集合 1 版本兼容 1 环境配置 1 时区 1 date-fns 1 前端 1 Vite 1 JavaScript 5 缓存 1 依赖管理 1 Helm 1 Jenkins 2 DNS 1 Passenger 1 性能 1 故障排查 3 Rails 5 Postfix 2 SMTP 1 邮件 3 竞态条件 1 Ruby 1 ActionMailer 2 数据治理 1 OOM 1 内存 1 性能调优 1 Linux 8 配置管理 1 磁盘清理 1 日志 1 运维 2 Shell 4 超时 1 任务调度 1 源码分析 1 logrotate 1 cron 1 Rancher 1 Kubernetes 1 SSH 2 公钥认证 2 Hexo 6 markdown 4 PostgreSQL 1 数据库 19 热搜榜 1 widget 1 media 1 递归 46 字符串 423 动态规划 335 数组 855 哈希表 303 数学 306 设计 93 字典树 33 数据流 14 树 167 深度优先搜索 213 二叉树 151 广度优先搜索 177 二分查找 146 后缀数组 3 滑动窗口 56 哈希函数 16 滚动哈希 10 矩阵 141 前缀和 58 交互 5 栈 110 回溯 85 贪心 163 双指针 131 位运算 122 状态压缩 26 树状数组 14 线段树 19 堆(优先队列) 82 图 71 双连通分量 1 链表 77 拓扑排序 19 数论 7 最短路 10 二叉搜索树 43 字符串匹配 13 记忆化搜索 30 博弈 18 队列 22 单调队列 6 几何 24 组合数学 13 概率与统计 8 并查集 48 最小生成树 2 强连通分量 2 随机化 14 单调栈 34 分治 44 枚举 22 有序集合 29 扫描线 4 桶排序 8 基数排序 2 计数 55 模拟 63 归并排序 8 欧拉回路 2 双向链表 9 脑筋急转弯 9 Java 17 Google 1 整洁代码 1 重构 1 测试 1 python 1 scrapy 1 面向对象编程 2 设计原则 1 CPU缓存 1 多线程 6 计数排序 5 快速选择 8 迭代器 6 水塘抽样 4 拒绝采样 2 Git 1 设计模式 14 GitLab CI 1 DevOps 1 Typora 1 Markdown 1 Vue 1
剑指 Offer 36-二叉搜索树与双向链表(二叉搜索树与双向链表 LCOF)
原文链接: https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof 中文题目输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例: 我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节…
2021-12-03
剑指 Offer 52-两个链表的第一个公共节点(两个链表的第一个公共节点 LCOF)
原文链接: https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof 中文题目输入两个链表,找出它们的第一个公共节点。 如下面的两个链表: 在节点 c1 开始相交。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3 输出:Reference of …
2021-12-03
剑指 Offer II 023-两个链表的第一个重合节点
原文链接: https://leetcode-cn.com/problems/3u1WK4 中文题目给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,…
2021-12-03
剑指 Offer II 022-链表中环的入口节点
原文链接: https://leetcode-cn.com/problems/c32eOV 中文题目给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。 说明:不允许修改给定的链表。 示例 …
2021-12-03
剑指 Offer II 024-反转链表
原文链接: https://leetcode-cn.com/problems/UHnkqh 中文题目给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0, 5000] -5000 <= Node.val <= 5000 进阶:链表可以选用迭代或…
2021-12-03
剑指 Offer II 025-链表中的两数相加
原文链接: https://leetcode-cn.com/problems/lMSNwu 中文题目给定两个 非空链表 l1和 l2 来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储一位数字。将这两数相加会返回一个新的链表。 可以假设除了数字 0 之外,这两个数字都不会以零开头。 示例1: 输入:l1 = [7,2,4,3], l2 = [5,6,4] 输出:[7,8,0,7] 示例2: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[8,0,7] 示例3…
2021-12-03
剑指 Offer II 026-重排链表
原文链接: https://leetcode-cn.com/problems/LGjMqU 中文题目给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 &rarr; L1 &rarr; &hellip; &rarr; Ln-1 &rarr; Ln 请将其重新排列后变为: L0 &rarr; Ln &rarr; L1 &rarr; Ln-1 &rarr; L2 &rarr; Ln-2 &rarr; &hellip; 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示…
2021-12-03
剑指 Offer II 027-回文链表
原文链接: https://leetcode-cn.com/problems/aMhZSa 中文题目给定一个链表的 头节点 head ,请判断其是否为回文链表。 如果一个链表是回文,那么链表节点序列从前往后看和从后往前看是相同的。 示例 1: 输入: head = [1,2,3,3,2,1] 输出: true 示例 2: 输入: head = [1,2] 输出: false 提示: 链表 L 的长度范围为 [1, 105] 0 <= node.val <= 9 进阶:能否用 O(n) 时间复杂度…
2021-12-03
剑指 Offer II 028-展平多级双向链表
原文链接: https://leetcode-cn.com/problems/Qv1Da2 中文题目多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。 给定位于列表第一级的头节点,请扁平化列表,即将这样的多级双向链表展平成普通的双向链表,使所有结点出现在单级双链表中。 示例 1: 输入:head = [1,2,3,4,5,6,null,null,null,7…
2021-12-03
剑指 Offer II 029-排序的循环链表
原文链接: https://leetcode-cn.com/problems/4ueAj6 中文题目给定循环单调非递减列表中的一个点,写一个函数向这个列表中插入一个新元素 insertVal ,使这个列表仍然是循环升序的。 给定的可以是这个列表中任意一个顶点的指针,并不一定是这个列表中最小元素的指针。 如果有多个满足条件的插入位置,可以选择任意一个位置插入新的值,插入后整个列表仍然保持有序。 如果列表为空(给定的节点是 null),需要创建一个循环有序列表并返回这个节点。否则。请返回原先给定的节…
2021-12-03
剑指 Offer II 031-最近最少使用缓存
原文链接: https://leetcode-cn.com/problems/OrIXps 中文题目 运用所掌握的数据结构,设计和实现一个 LRU (Least Recently Used,最近最少使用) 缓存机制 。 实现 LRUCache 类: LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。 void put(int key, in…
2021-12-03
剑指 Offer II 077-链表排序
原文链接: https://leetcode-cn.com/problems/7WHec2 中文题目给定链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head = [4,2,1,3] 输出:[1,2,3,4] 示例 2: 输入:head = [-1,5,3,4,0] 输出:[-1,0,3,4,5] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目在范围 [0, 5 * 104] 内 -105 <= Node.val <= 10…
2021-12-03
剑指 Offer II 078-合并排序链表
原文链接: https://leetcode-cn.com/problems/vvXgSW 中文题目给定一个链表数组,每个链表都已经按升序排列。 请将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得到。 1->1->2->3->4->4->5->6 示例 2: 输入:l…
2021-12-03