链表
Magge_Lin
这个作者很懒,什么都没留下…
展开
-
2. 两数相加
https://leetcode-cn.com/problems/add-two-numbers/description/给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输...原创 2018-10-07 21:28:21 · 163 阅读 · 0 评论 -
147. 对链表进行插入排序
https://leetcode-cn.com/problems/insertion-sort-list/description/对链表进行插入排序。插入排序的动画演示如上。从第一个元素开始,该链表可以被认为已经部分排序(用黑色表示)。每次迭代时,从输入数据中移除一个元素(用红色表示),并原地将其插入到已排好序的链表中。插入排序算法:插入排序是迭代的,每次只移动一个元素,直到所有元素...原创 2018-10-08 12:10:58 · 167 阅读 · 0 评论 -
160. 相交链表
https://leetcode-cn.com/problems/intersection-of-two-linked-lists/description/编写一个程序,找到两个单链表相交的起始节点。例如,下面的两个链表:A: a1 → a2 ↘ c1 → c2 → c3 ...原创 2018-10-08 12:11:03 · 161 阅读 · 0 评论 -
203. 移除链表元素
https://leetcode-cn.com/problems/remove-linked-list-elements/description/删除链表中等于给定值 val 的所有节点。示例:输入: 1->2->6->3->4->5->6, val = 6输出: 1->2->3->4-&原创 2018-10-08 12:11:09 · 293 阅读 · 0 评论 -
206. 反转链表
https://leetcode-cn.com/problems/reverse-linked-list/description/反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递原创 2018-10-08 12:11:21 · 161 阅读 · 0 评论 -
234. 回文链表
https://leetcode-cn.com/problems/palindrome-linked-list/description/请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?/** * De...原创 2018-10-08 12:11:25 · 175 阅读 · 0 评论 -
237. 删除链表中的节点
https://leetcode-cn.com/problems/delete-node-in-a-linked-list请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。现有一个链表 – head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9示例 1:输入: head = [4,5,1,9],...原创 2018-10-09 14:25:35 · 142 阅读 · 0 评论 -
328. 奇偶链表
https://leetcode-cn.com/problems/odd-even-linked-list/description/给定一个单链表,把所有的奇数节点和偶数节点分别排在一起。请注意,这里的奇数节点和偶数节点指的是节点编号的奇偶性,而不是节点的值的奇偶性。请尝试使用原地算法完成。你的算法的空间复杂度应为 O(1),时间复杂度应为 O(nodes),nodes 为节点总数。示例 1...原创 2018-10-09 14:25:39 · 197 阅读 · 0 评论 -
430. 扁平化多级双向链表
https://leetcode-cn.com/problems/flatten-a-multilevel-doubly-linked-list/description/您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表。这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。扁平化列表,使所有结点出现在单级双链表中。您将获得...原创 2018-10-09 14:25:58 · 311 阅读 · 0 评论 -
445. 两数相加 II
https://leetcode-cn.com/problems/add-two-numbers-ii/description/给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。进阶:如果输入链表不能修改该如何处理?换句话说,你不能对列表中的节点进行翻转。示...原创 2018-10-09 14:26:03 · 699 阅读 · 0 评论 -
707. 设计链表
https://leetcode-cn.com/problems/design-linked-list/description/设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-i...原创 2018-10-09 14:26:50 · 222 阅读 · 0 评论 -
725. 分隔链表
https://leetcode-cn.com/problems/split-linked-list-in-parts/description/给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分。每部分的长度应该尽可能的相等: 任意两部分的长度差距不能超过 1,也就是说可能有些部分为 null。这k个部分应该按照在链表中出现的顺序进行输出,并且排在前面的部分的...原创 2018-10-09 14:26:56 · 671 阅读 · 0 评论 -
817. 链表组件
https://leetcode-cn.com/problems/linked-list-components/description/给定一个链表(链表结点包含一个整型值)的头结点 head。同时给定列表 G,该列表是上述链表中整型值的一个子集。返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。示例 1:输入: head:...原创 2018-10-09 14:27:04 · 375 阅读 · 0 评论 -
143. 重排链表
https://leetcode-cn.com/problems/reorder-list/description/给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:给定链表 1->2->3->4, 重新排列为 1->4-...原创 2018-10-08 12:10:48 · 516 阅读 · 0 评论 -
142. 环形链表 II
https://leetcode-cn.com/problems/linked-list-cycle-ii/description/给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。说明:不允许修改给定的链表。进阶:你是否可以不用额外空间解决此题?/** * Definition for singly-linked list. * struct ListN...原创 2018-10-08 12:10:36 · 180 阅读 · 0 评论 -
19. 删除链表的倒数第N个节点
https://leetcode-cn.com/problems/remove-nth-node-from-end-of-list/description/给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5....原创 2018-10-07 21:29:55 · 178 阅读 · 0 评论 -
21. 合并两个有序链表
https://leetcode-cn.com/problems/merge-two-sorted-lists/description/将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/** * Defin...原创 2018-10-07 21:31:03 · 248 阅读 · 1 评论 -
23. 合并K个排序链表
https://leetcode-cn.com/problems/merge-k-sorted-lists/description/合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5...原创 2018-10-07 21:32:26 · 163 阅读 · 0 评论 -
24. 两两交换链表中的节点
https://leetcode-cn.com/problems/swap-nodes-in-pairs/description/给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际的进行...原创 2018-10-07 21:33:37 · 163 阅读 · 0 评论 -
25. k个一组翻转链表
https://leetcode-cn.com/problems/reverse-nodes-in-k-group/description/给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当 k...原创 2018-10-07 21:34:43 · 132 阅读 · 0 评论 -
61. 旋转链表
https://leetcode-cn.com/problems/rotate-list/description/给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。示例 1:输入: 1->2->3->4->5->NULL, k = 2输出: 4->5->1->2->3->NULL解释:向右旋转 1...原创 2018-10-07 21:35:54 · 131 阅读 · 0 评论 -
82. 删除排序链表中的重复元素 II
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii/description/给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字。示例 1:输入: 1->2->3->3->4->4->5输出: 1->2->5示例 2:...原创 2018-10-07 21:36:53 · 181 阅读 · 0 评论 -
83. 删除排序链表中的重复元素
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list/description/给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2-&g...原创 2018-10-07 21:38:53 · 145 阅读 · 0 评论 -
86. 分隔链表
https://leetcode-cn.com/problems/partition-list/description/给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->...原创 2018-10-07 21:40:05 · 168 阅读 · 0 评论 -
92. 反转链表 II
https://leetcode-cn.com/problems/reverse-linked-list-ii/description/反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤ m ≤ n ≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3原创 2018-10-08 12:10:12 · 154 阅读 · 0 评论 -
138. 复制带随机指针的链表
https://leetcode-cn.com/problems/copy-list-with-random-pointer/description/给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深度拷贝。/** * Definition for singly-linked list with a random pointer....原创 2018-10-08 12:10:22 · 143 阅读 · 0 评论 -
141. 环形链表
https://leetcode-cn.com/problems/linked-list-cycle/description/给定一个链表,判断链表中是否有环。进阶:你能否不使用额外空间解决此题?/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *ne...原创 2018-10-08 12:10:30 · 141 阅读 · 0 评论 -
876. 链表的中间结点
https://leetcode-cn.com/problems/middle-of-the-linked-list/description/给定一个带有头结点 head 的非空单链表,返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。示例 1:输入:[1,2,3,4,5]输出:此列表中的结点 3 (序列化形式:[3,4,5])返回的结点值为 3 。 (测评系统对该结点序列...原创 2018-10-09 14:27:08 · 398 阅读 · 0 评论