链表
文章平均质量分 87
LeetCode链表题
zhangcoder
KEEP CODING! 文章的配套资料 http://zhangcoder.ysepan.com/
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
L22.5.【LeetCode题解】环形链表(返回环的入口点 方法2)
给定一个链表,返回链表开始入环的第一个节点。从链表的头节点开始沿着。指针进入环的第一个节点为环的入口节点。如果链表无环,则返回。来表示链表尾连接到链表中的位置(索引从 0 开始)。之后断开相遇点与后一个节点之间的链接(设相遇节点为meet,即。这就转换成了相交链表问题,求出相交节点的地址即可。链表中有一个环,其尾部连接到第二个节点。链表中有一个环,其尾部连接到第一个节点。为了表示给定链表中的环,我们使用整数。返回索引为 1 的链表节点。返回索引为 0 的链表节点。,则在该链表中没有环。原创 2025-04-25 18:58:20 · 600 阅读 · 0 评论 -
L34.【LeetCode题解】随机链表的复制(复杂链表的复制)
给你一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。构造这个链表的。深拷贝应该正好由n个节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指针和random指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。。例如,如果原链表中有X和Y两个节点,其中。那么在复制链表中对应的两个节点x和y,同样有。返回复制链表的头节点。用一个由n个节点组成的链表来表示输入/输出中的链表。原创 2025-02-14 10:28:01 · 1122 阅读 · 1 评论 -
L9.【LeetCode题解】分割链表(三种方法)
比x小的放到一个链表,比x大的放到另外一个链表,最后将这两个链表与x合并为一个链表,返回头节点的地址.为了避免尾插时找尾,为两个链表定义各自的尾指针。设p1找大值,p2找小值,注意:一开始要让p1和p2都要指向同一个节点,且节点的值。★注:示例1画的图其实是错的,最后的结果应该是1->2->2->,这样后面才容易换,之后p2先出发找小,与p1交换才能让。的节点之前",因此就要通过交换两个指针指向的值来让。的节点之前"显然是数据分块问题,可以在。给你一个链表的头节点。带哨兵位的新链表进行。原创 2025-02-09 09:46:32 · 1128 阅读 · 0 评论 -
L32.【LeetCode笔记】设计链表
你可以选择使用单链表或者双链表,设计并实现自己的链表。val和next。val是当前节点的值,next是指向下一个节点的指针/引用。如果是双向链表,则还需要属性prev以指示链表中的上一个节点。假设链表中的所有节点下标从开始。实现index-1valvalvalindexindexindexindex// 链表变为 1->2->3// 返回 2// 现在,链表变为 1->3// 返回 3getaddAtHeadaddAtTailaddAtIndex2000。原创 2025-01-31 08:54:44 · 984 阅读 · 0 评论 -
L24.【LeetCode笔记】相交链表(新版)
假设A链表为长链表(longlis接收),B链表为短链表(shortlist接收),如果假设不成立,再更正(修改longlist和shortlist),这样就不用做if{...}else{...}了,减少重复代码。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。从各自的表头开始算起,链表 A 为 [0,9,1,2,4],链表 B 为 [3,2,4]。将A链表的每个节点的地址和B链表的所有节点的地址进行比较,如果相等则可求出相交节点的地址。原创 2024-12-10 15:11:29 · 1194 阅读 · 0 评论 -
L23.【LeetCode题解】环形链表(返回环的入口点 方法1)
给定一个链表,返回链表开始入环的第一个节点。从链表的头节点开始沿着next指针进入环的第一个节点为环的入口节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。如果pos是-1,则在该链表中没有环。pos不允许修改给定的链表。返回索引为 1 的链表节点链表中有一个环,其尾部连接到第二个节点。返回索引为 0 的链表节点链表中有一个环,其尾部连接到第一个节点。返回 null链表中没有环。[0, 104]-1是否可以使用。原创 2024-12-09 20:29:37 · 1168 阅读 · 0 评论 -
L14.【LeetCode笔记】返回倒数第k个节点
先遍历一次链表求size(while循环),之后不要忘记将遍历的指针恢复为head,再遍历一次得正数第(size-k+1)个节点(while循环)倒数第k个节点即正数第(size-k+1)个节点,size为链表节点的总个数。实现一种算法,找出单向链表中倒数第 k 个节点。返回倒数第k个节点,由于不是双向链表,不能从尾节点向前遍历。1->2->3->4->5 和。本题相对原题稍作改动。原创 2024-11-23 10:14:07 · 426 阅读 · 0 评论 -
L10.【LeetCode题解】环形链表(判断链表中是否有环)
当没有进环时,fast和slow之间的距离越来越大,直到:fast至尾节点,slow走至链表的中间节点。答:当fast和slow都进环时,以slow为参考系,fast每次比slow多走一步,因此两者会相遇。则fast指针还要走y次(2y步)才能与slow相遇,相遇时slow走了y步,小于一圈的x+y步。当fast进环走一段时间,slow也进环,此时变为fast和slow的。以slow指针刚入环画图,设head与环入口点相距z步,设fast指针。slow的路程:m,fast的路程:2m。原创 2024-11-15 19:48:13 · 949 阅读 · 0 评论 -
L10.【LeetCode笔记】回文链表
给你一个单链表的头节点head,请你判断该链表是否为回文链表。如果是,返回true;否则,返回false。truefalse[1, 105]你能否用O(n)时间复杂度和O(1)空间复杂度解决此题?原创 2024-11-12 14:33:55 · 622 阅读 · 0 评论 -
L7.【LeetCode题解】相交链表(旧版)
采用双指针法解决求解相交连标点节点问题原创 2024-11-08 18:54:39 · 1127 阅读 · 0 评论 -
L6.【LeetCode题解】合并两个有序链表
将两个升序链表合并为一个新的链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。[][0]l2。原创 2024-11-06 20:48:46 · 993 阅读 · 0 评论 -
L5.【LeetCode题解】移除链表元素
给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回。原创 2024-11-05 14:04:38 · 338 阅读 · 0 评论 -
L3.【LeetCode题解】链表的中间节点
给你单链表的头结点head,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。[3,4,5]链表只有一个中间结点,值为 3。[4,5,6]该链表有两个中间结点,值分别为 3 和 4 ,返回第二个结点。原创 2024-11-01 19:36:33 · 338 阅读 · 0 评论 -
L2.【LeetCode题解】反转链表(逆置链表)
给你单链表的头节点head,请你反转链表,并返回反转后的链表。本解法的执行用时分布击败100.00%原创 2024-11-01 19:17:24 · 990 阅读 · 0 评论
分享