# ListNodeDemo **Repository Path**: fengmengchang/list-node-demo ## Basic Information - **Project Name**: ListNodeDemo - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-11-30 - **Last Updated**: 2021-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 链表 贡献词条描述 ( +50 ) 链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer)。 由于不必须按顺序存储,链表在插入的时候可以达到 O(1)O(1) 的复杂度,比另一种线性表 —— 顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要 O(n)O(n) 的时间,而顺序表相应的时间复杂度分别是 O(log\ n)O(log n) 和 O(1)O(1)。 使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。 在计算机科学中,链表作为一种基础的数据结构可以用来生成其它类型的数据结构。链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接(links)。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的访问往往要在不同的排列顺序中转换。而链表是一种自我指示数据类型,因为它包含指向另一个相同类型的数据的指针(链接)。 链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。链表有很多种不同的类型:单向链表,双向链表以及循环链表。 链表通常可以衍生出循环链表,静态链表,双链表等。对于链表使用,需要注意头结点的使用。 以下是链表的相关练习,可以帮助你进一步了解链表,快来试试吧! 您已通过 24/56 道题 显示题目标签 状态 题目 难度 出现频率 未尝试 #430 扁平化多级双向链表 52.0% 中等 已通过 面试题 02.02 返回倒数第 k 个节点 78.2% 简单 已通过 剑指 Offer 22 链表中倒数第k个节点 78.5% 简单 未尝试 #61 旋转链表 40.5% 中等 未尝试 剑指 Offer 35 复杂链表的复制 71.7% 中等 未尝试 #369 给单链表加一 61.7% 中等 已通过 面试题 02.03 删除中间节点 85.1% 简单 已通过 #21 合并两个有序链表 64.8% 简单 已通过 #445 两数相加 II 58.1% 中等 已通过 #24 两两交换链表中的节点 68.6% 中等 未尝试 #143 重排链表 59.6% 中等 未尝试 #82 删除排序链表中的重复元素 II 49.7% 中等 未尝试 #109 有序链表转换二叉搜索树 76.0% 中等 未尝试 面试题 02.08 环路检测 50.9% 中等 已通过 #234 回文链表 45.0% 简单 未尝试 #707 设计链表 29.2% 中等 已通过 #237 删除链表中的节点 83.5% 简单 未尝试 #817 链表组件 58.4% 中等 已通过 #2 两数相加 39.0% 中等 已通过 剑指 Offer 18 删除链表的节点 58.7% 简单 未尝试 #725 分隔链表 55.6% 中等 未尝试 #708 循环有序列表的插入 32.1% 中等 已通过 #876 链表的中间结点 69.7% 简单 未尝试 #23 合并K个升序链表 53.7% 困难 未尝试 #142 环形链表 II 54.0% 中等 已通过 #203 移除链表元素 46.6% 简单 已通过 剑指 Offer 52 两个链表的第一个公共节点 62.9% 简单 已通过 #206 反转链表 71.0% 简单 未尝试 #1669 合并两个链表 80.4% 中等 已通过 #1290 二进制链表转整数 81.1% 简单 未尝试 #328 奇偶链表 65.5% 中等 未尝试 #148 排序链表 67.9% 中等 未尝试 #1634 求两个多项式链表的和 58.0% 中等 未尝试 #426 将二叉搜索树转化为排序的双向链表 65.5% 中等 已通过 面试题 02.07 链表相交 68.6% 简单 已通过 #160 相交链表 57.0% 简单 已通过 面试题 02.06 回文链表 46.9% 简单 未尝试 #1367 二叉树中的列表 40.4% 中等 未尝试 面试题 02.04 分割链表 64.7% 中等 未尝试 #1019 链表中的下一个更大节点 57.3% 中等 已通过 剑指 Offer 24 反转链表 74.3% 简单 未尝试 #1474 删除链表 M 个节点之后的 N 个节点 74.6% 简单 未尝试 面试题 02.05 链表求和 45.9% 中等 未尝试 #1171 从链表中删去总和值为零的连续节点 45.0% 中等 已通过 #19 删除链表的倒数第N个节点 40.6% 中等 未尝试 #379 电话目录管理系统 65.9% 中等 未尝试 #138 复制带随机指针的链表 58.5% 中等 已通过 #83 删除排序链表中的重复元素 51.7% 简单 已通过 #141 环形链表 50.4% 简单 未尝试 #147 对链表进行插入排序 67.2% 中等 未尝试 #86 分隔链表 60.2% 中等 未尝试 #25 K 个一组翻转链表 63.6% 困难 未尝试 #92 反转链表 II 51.8% 中等 未尝试 #1670 设计前中后队列 53.0% 中等 已通过 面试题 02.01 移除重复节点 69.3% 简单 已通过 剑指 Offer 06 从尾到头打印链表 75.2% 简单