
链表
leetcode链表相关题目
努力d小白
这个作者很懒,什么都没留下…
展开
-
leetcode24.两两交换链表中的节点
思路:三指针在链表解题中还蛮常见的,因此涉及到交换节点一下子就想到得有一个指针临时存储next值,至于怎么具体的指来指去自己模拟一下子就ok了。给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。原创 2024-12-03 20:54:06 · 457 阅读 · 0 评论 -
leetcode148.排序链表
思路:话不多说,直接上进阶解题思路,因为面试考官要的就是手撕进阶答法(百度是这样的),排序O(nlogn)直接想到归并排序,两两一组不断合并,直到合并到长度为链表长度。注意一组的长度是2倍递增的,例如:1 1->2 2 2->4....用到了。时间复杂度和常数级空间复杂度下,对链表进行排序吗?标签:归并排序,合并链表。链表中节点的数目在范围。原创 2024-12-06 18:38:38 · 887 阅读 · 0 评论 -
leetcode19.删除链表的倒数第 N 个结点
思路:要实现一趟扫描实现需要借助快慢指针,想到这个剩下就不难了。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。你能尝试使用一趟扫描实现吗?原创 2024-12-03 13:34:34 · 192 阅读 · 0 评论 -
leetcode2.两数相加
思路:其实类似于合并链表,就是注意下最后一个节点相加后如果有进位要再创建一个新节点。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。原创 2024-12-03 11:12:44 · 295 阅读 · 0 评论 -
leetcode21.合并两个有序列表
思路:典型合并两个序列问题,思路比较简单,注意一下有一个全遍历完另一个还没有遍历完的情况即可。新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。原创 2024-12-02 13:51:21 · 338 阅读 · 0 评论 -
leetcode234.回文链表
思路:就是将后一半的链表节点反转然后和前一半比较是不是一样;反转链表不明白的看这里(下面代码是时间复杂度为O(n)、空间复杂度为O(1).(从前往后或从后往前得到序列一样)。给你一个单链表的头节点。,请你判断该链表是否为。标签:反转链表,回文。原创 2024-12-02 13:32:18 · 308 阅读 · 0 评论 -
leetcode206.反转链表
思路:关键是想到用三个指针,然后注意一下链表开头和结尾的处理。,请你反转链表,并返回反转后的链表。原创 2024-11-30 20:04:18 · 131 阅读 · 0 评论 -
leetcode138.随机链表的复制
问题:给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。深拷贝应该正好由 n 个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。复制链表中的指针都不应 指向原链表中的节点。那么在复制链表中对应的两个节点 x 和 y ,同样有 x.random --> y。返回复制链表的头节点。原创 2024-11-03 18:20:10 · 194 阅读 · 0 评论 -
leetcode707.链表设计
思路:这里仅提供单链表设计,后面有时间会更新双链表设计思密达~一些细节问题都在代码注释中说明了,看代码即可。问题:可以选择使用单链表或者双链表,设计并实现自己的链表。假设链表中的所有节点下标从。原创 2024-06-09 17:34:13 · 198 阅读 · 0 评论 -
leetcode141.环形链表
使用HashSet来存储所有访问过的节点:每次我们到达一个节点,如果该节点已经存在于HashSet中,则说明该链表是环形链表。(使用HashSet是因为HashSet查找速度为常量级)标签:hot100 单链表 HashSet。原创 2024-06-09 14:55:07 · 218 阅读 · 0 评论