链表
文章平均质量分 96
链表的概念以及LeetCode的相关题目。
伟大的车尔尼
走自己的路,让别人去说吧!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表题目:设计跳表
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:设计跳表出处:1206. 设计跳表难度9 级题目描述要求不使用内置库,设计一个跳表。跳表是在 O(log n)\texttt{O(log n)}O(log n) 时间内完成增加、删除、搜索操作的数据结构。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短,其设计思想与链表相似。例如,一个跳表包含 [30, 40, 50, 原创 2022-04-11 18:00:00 · 388 阅读 · 0 评论 -
链表题目:设计链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:设计链表出处:707. 设计链表难度5 级题目描述要求设计链表的实现。你可以选择使用单向链表或双向链表。单向链表中的结点应该具有两个属性:val\texttt{val}val 和 next\texttt{next}next。val\texttt{val}val 是当前结点的值,next\texttt{next}next 是指向下一个结点的指针/引用。如果要使原创 2022-04-07 18:00:00 · 237 阅读 · 0 评论 -
链表题目:重排链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:重排链表出处:143. 重排链表难度5 级题目描述要求给定一个单链表的头结点。单链表可以表示为:L0→L1→…→Ln - 1→Ln\texttt{L}_\texttt{0} \rightarrow \texttt{L}_\texttt{1} \rightarrow \texttt{\ldots} \rightarrow \texttt{L原创 2022-04-04 18:00:00 · 866 阅读 · 0 评论 -
链表题目:将链表分隔成 K 个部分
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:将链表分隔成 K 个部分出处:725. 将链表分隔成 K 个部分难度5 级题目描述要求给你单链表的头结点 head\texttt{head}head 和一个整数 k\texttt{k}k,将链表分隔成 k\texttt{k}k 个连续的部分。每部分的长度应尽可能相等:任意两部分的长度相差不超过 1\texttt{1}1。可能有些部分为 null\texttt{null}null。每个部分的原创 2022-03-31 18:00:00 · 331 阅读 · 0 评论 -
链表题目:分隔链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:分隔链表出处:86. 分隔链表难度5 级题目描述要求给你一个链表的头结点 head\texttt{head}head 和一个特定值 x\texttt{x}x,请你对链表进行分隔,使得所有小于 x\texttt{x}x 的结点都出现在大于或等于 x\texttt{x}x 的结点之前。你应当保留两个分区中每个结点的初始相对位置。示例示例 1:输入:head = [1,原创 2022-03-28 18:00:00 · 283 阅读 · 0 评论 -
链表题目:K 个一组反转链表
文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:K 个一组反转链表出处:25. K 个一组反转链表难度4 级题目描述要求给你一个链表,每 k\texttt{k}k 个结点一组进行反转,并返回反转后的链表。k\texttt{k}k 是一个正整数,它的值小于或等于链表的长度。如果结点总数不是 k\texttt{k}k 的倍数,那么请将最后剩余的结点保持原有顺序。不能修改结点的值,只能修改结点本身。示例原创 2022-03-24 18:00:00 · 1762 阅读 · 0 评论 -
链表题目:两两交换链表中的结点
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:两两交换链表中的结点出处:24. 两两交换链表中的结点难度4 级题目描述要求给定一个链表,两两交换其中相邻的结点,并返回交换后的链表。不能修改结点的值,只能修改结点本身。示例示例 1:输入:head = [1,2,3,4]\texttt{head = [1,2,3,4]}head = [1,2,3,4]输出:[2原创 2022-03-21 18:00:00 · 531 阅读 · 0 评论 -
链表题目:奇偶链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:奇偶链表出处:328. 奇偶链表难度4 级题目描述要求给你一个链表的头结点 head\texttt{head}head,把所有的奇数下标结点排在前面的组,把所有的偶数下标结点排在后面的组,返回重新排列后的链表。链表的第一个结点视为奇数结点,第二个结点视为偶数结点,以此类推。在奇数组和偶数组内部的结点的相对顺序应和输入保持一致。要求空间复杂度为 O(1)\texttt{O(1)}O(1),原创 2022-03-17 18:00:00 · 837 阅读 · 0 评论 -
链表题目:反转链表 II
文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:反转链表 II出处:92. 反转链表 II难度4 级题目描述要求给你单链表的头指针 head\texttt{head}head 和两个整数 left\texttt{left}left 和 right\texttt{right}right,其中 left≤right\texttt{left} \le \texttt{right}left≤right。请你反转从原创 2022-03-14 18:00:00 · 518 阅读 · 2 评论 -
链表题目:旋转链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:旋转链表出处:61. 旋转链表难度4 级题目描述要求给你一个链表的头结点 head\texttt{head}head,旋转链表,将链表每个结点向右移动 k\texttt{k}k 个位置。示例示例 1:输入:head = [1,2,3,4,5], k = 2\texttt{head = [1,2,3,4,5], k = 2}head&nb原创 2022-03-10 18:00:00 · 230 阅读 · 0 评论 -
链表题目:合并两个链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:合并两个链表出处:1669. 合并两个链表难度4 级题目描述要求给你两个链表 list1\texttt{list1}list1 和 list2\texttt{list2}list2,它们包含的元素分别为 n\texttt{n}n 个和 m\texttt{m}m 个。请你将 list1\texttt{list1}list1 中第 a\texttt{a}a 个结点到第 b\texttt{b}b原创 2022-03-07 18:00:00 · 360 阅读 · 0 评论 -
链表题目:删除排序链表中的重复元素 II
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:删除排序链表中的重复元素 II出处:82. 删除排序链表中的重复元素 II难度4 级题目描述要求给你一个按升序排列的链表的头节点 head\texttt{head}head,请你删除链表中所有存在数字重复情况的结点,只保留原始链表中没有重复出现的数字。返回同样按升序排列的结果链表。示例示例 1:输入:head = [1,2,3,3,4,4,5]\texttt{he原创 2022-03-03 18:00:00 · 278 阅读 · 0 评论 -
链表题目:删除排序链表中的重复元素
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:删除排序链表中的重复元素出处:83. 删除排序链表中的重复元素难度3 级题目描述要求给你一个按升序排列的链表的头节点 head\texttt{head}head,请你删除所有重复的元素,使每个元素只出现一次。返回同样按升序排列的结果链表。示例示例 1:输入:head = [1,1,2]\texttt{head = [1,1,2]}head =原创 2022-02-28 18:00:00 · 307 阅读 · 0 评论 -
链表题目:回文链表
文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:回文链表出处:234. 回文链表难度3 级题目描述要求给你单链表的头结点 head\texttt{head}head,如果是回文链表,返回 true\texttt{true}true。示例示例 1:输入:head = [1,2,2,1]\texttt{head = [1,2,2,1]}head = [1,2,2原创 2022-02-24 18:00:00 · 289 阅读 · 0 评论 -
链表题目:反转链表
文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析解法三思路和算法代码复杂度分析题目标题和出处标题:反转链表出处:206. 反转链表难度3 级题目描述要求给你单链表的头结点 head\texttt{head}head,请你反转链表,并返回反转后的链表。示例示例 1:输入:head = [1,2,3,4,5]\texttt{head = [1,2,3,4,5]}head = [1,原创 2022-02-21 18:00:00 · 396 阅读 · 0 评论 -
链表题目:删除链表中的结点
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:删除链表中的结点出处:237. 删除链表中的结点难度3 级题目描述要求写一个函数,删除链表中的一个结点。传入的参数是要被删除的结点,即如果要被删除的结点不是链表的头结点,则无法访问链表的头结点。题目保证要被删除的结点不是链表的尾结点。示例示例 1:输入:head = [4,5,1,9], node = 5\texttt{head =原创 2022-02-17 18:00:00 · 549 阅读 · 0 评论 -
链表题目:移除链表元素
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:移除链表元素出处:203. 移除链表元素难度3 级题目描述要求给你一个链表的头结点 head\texttt{head}head 和一个整数 val\texttt{val}val,请你删除链表中所有满足 Node.val=val\texttt{Node.val} = \texttt{val}Node.val=val 的结点,并返回新的头结点。示例示例 1:原创 2022-02-14 18:00:00 · 294 阅读 · 0 评论 -
链表题目:两数相加
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:两数相加出处:2. 两数相加难度3 级题目描述要求给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个结点只能存储一位数字。将两个数相加,并返回一个表示和的链表。你可以假设除了数字 0\texttt{0}0 之外,这两个数都不会以 0\texttt{0}0 开头。示例示例 1:输入:l1 = [2,4,3], l2&nb原创 2022-02-10 18:00:00 · 250 阅读 · 0 评论 -
链表题目:合并两个有序链表
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:合并两个有序链表出处:21. 合并两个有序链表难度3 级题目描述要求将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有结点组成的。示例示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]\texttt{l1 = [1,2,4], l2 = [1,3,4]}l1原创 2022-02-07 18:00:00 · 541 阅读 · 0 评论 -
链表题目:链表的中间结点
文章目录题目标题和出处难度题目描述要求示例数据范围解法一思路和算法代码复杂度分析解法二思路和算法证明代码复杂度分析题目标题和出处标题:链表的中间结点出处:876. 链表的中间结点难度3 级题目描述要求给定一个头结点为 head\texttt{head}head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例示例 1:输入:head = [1,2,3,4,5]\texttt{head = [1,2,3,4,5]}head&nbs原创 2022-02-03 08:00:00 · 700 阅读 · 0 评论 -
链表题目:交换链表中的结点
文章目录题目标题和出处难度题目描述要求示例数据范围前言解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:交换链表中的结点出处:1721. 交换链表中的结点难度3 级题目描述要求给你链表的头结点 head\texttt{head}head 和一个整数 k\texttt{k}k。交换链表正数第 k\texttt{k}k 个结点和倒数第 k\texttt{k}k 个结点的值后,返回链表的头结点(链表从 1\texttt{1}1 开始索引)。示例示例 1:输原创 2022-01-31 08:00:00 · 1210 阅读 · 0 评论 -
链表题目:删除链表的倒数第 N 个结点
文章目录题目标题和出处难度题目描述要求示例数据范围进阶解法一思路和算法代码复杂度分析解法二思路和算法代码复杂度分析题目标题和出处标题:删除链表的倒数第 N 个结点出处:19. 删除链表的倒数第 N 个结点难度3 级题目描述要求给你一个链表,删除链表的倒数第 n\texttt{n}n 个结点,然后返回链表的头结点。示例示例 1:输入:head = [1,2,3,4,5], n = 2\texttt{head = [1,2,3,4,5]原创 2022-01-27 18:00:00 · 892 阅读 · 0 评论 -
链表题目:二进制链表转整数
文章目录题目标题和出处难度题目描述要求示例数据范围解法思路和算法代码复杂度分析题目标题和出处标题:二进制链表转整数出处:1290. 二进制链表转整数难度2 级题目描述要求给你一个单链表的引用结点 head\texttt{head}head。链表中每个结点的值是 0\texttt{0}0 或 1\texttt{1}1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的十进制值。示例示例 1:输入:head = [1,0,1]\texttt{he原创 2022-01-24 18:00:00 · 308 阅读 · 0 评论 -
链表的概念
文章目录链表链表的操作数组和链表的比较链表题的技巧目录链表链表是表示一系列结点的数据结构。链表由结点组成,每个结点包含结点值以及指向其他结点的指针。链表的种类包括单向链表、双向链表和循环链表。单向链表中的每个结点包含一个指针,指向链表中的后一个结点。双向链表中的每个结点包含两个指针,分别指向链表中的前一个结点和后一个结点。循环链表中,尾结点的后一个结点指向头结点或者一个非空结点,全部结点或者部分结点形成一个环。在 LeetCode 中定义了类 ListNode\texttt{ListNode}L原创 2022-01-20 18:00:00 · 817 阅读 · 0 评论
分享