![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
链表
不吃糖葫芦
这个作者很懒,什么都没留下…
展开
-
链表
链表单链表单链表中的每个结点不仅包含值,还包含链接到下一个结点的引用字段。通过这种方式,单链表将所有结点按顺序组织起来。例题:LeetCode 707. 设计链表(Java)链表中的双指针一个用于解决链表中的双指针问题模板:// Initialize slow & fast pointers//初始化快慢指针ListNode slow = head;ListNode f...原创 2020-04-01 17:33:39 · 56 阅读 · 0 评论 -
LeetCode 61. 旋转链表(Java)
61. 旋转链表给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1 步: 5->1->2->3->4->NULL向右旋转 2 步: ...原创 2020-04-01 17:33:16 · 189 阅读 · 0 评论 -
LeetCode 138. 复制带随机指针的链表(Java)
138. 复制带随机指针的链表给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的 深拷贝。我们用一个由 n 个节点组成的链表来表示输入/输出中的链表。每个节点用一个 [val, random_index] 表示:val:一个表示 Node.val 的整数。random_index:随机指针指向的节点索引(范围从 0 到 n-1);...原创 2020-04-01 17:03:36 · 126 阅读 · 0 评论 -
LeetCode 430. 扁平化多级双向链表(Java)
430. 扁平化多级双向链表多级双向链表中,除了指向下一个节点和前一个节点指针之外,它还有一个子链表指针,可能指向单独的双向链表。这些子列表也可能会有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。给你位于列表第一级的头节点,请你扁平化列表,使所有结点出现在单级双链表中。示例 1:输入:head = [1,2,3,4,5,6,null,null,null,7,8,9,1...原创 2020-04-01 16:31:19 · 127 阅读 · 0 评论 -
LeetCode 2. 两数相加 (Java)
两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0...原创 2020-03-11 18:01:00 · 88 阅读 · 0 评论 -
LeetCode 21. 合并两个有序链表 (Java)
合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-li...原创 2020-03-10 20:37:26 · 98 阅读 · 0 评论 -
LeetCode 234. 回文链表(Java)
回文链表请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-linked-list著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。...原创 2020-03-13 21:36:09 · 88 阅读 · 0 评论 -
LeetCode 328. 奇偶链表(Java)
328. 奇偶链表给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1:输入: 1->2->3->4->5->NULL输出: 1->3->...原创 2020-03-28 20:00:00 · 112 阅读 · 0 评论 -
LeetCode 203. 移除链表元素(Java)
203. 移除链表元素删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4->5/** * Definition for singly-linked list. * public class ListNode { * int v...原创 2020-03-28 18:24:30 · 123 阅读 · 0 评论 -
LeetCode 206. 反转链表(Java)
反转链表反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/reverse-linked-li...原创 2020-03-13 12:38:30 · 76 阅读 · 0 评论 -
LeetCode 19. 删除链表的倒数第N个节点(Java)
删除链表的倒数第N个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/pro...原创 2020-03-12 15:50:45 · 83 阅读 · 0 评论 -
LeetCode160. 相交链表(Java)
160. 相交链表编写一个程序,找到两个单链表相交的起始节点。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3输出:Reference of the node with value = 8输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。...原创 2020-03-28 17:05:00 · 122 阅读 · 0 评论 -
LeetCode 142. 环形链表 II(Java)
环形链表 II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node i...原创 2020-03-13 17:17:05 · 59 阅读 · 0 评论 -
LeetCode 707. 设计链表(Java)
707. 设计链表设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引...原创 2020-03-28 15:59:29 · 253 阅读 · 0 评论