Linked List
N.C_IPOC_BUPT
一个喜欢科怀.莱昂纳德的准程序猿,研一在读。
展开
-
160. Intersection of Two Linked Lists
题目描述Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:begin to intersect at node c1.方法Approach 1: Brute For...转载 2019-02-27 20:58:57 · 109 阅读 · 0 评论 -
23. Merge k Sorted Lists(合并K个有序链表)
题目描述Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.Example:Input:[1->4->5,1->3->4,2->6]Output: 1->1->2-&am原创 2019-03-05 11:58:07 · 316 阅读 · 0 评论 -
25. Reverse Nodes in k-Group
题目描述给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。示例:输入:{“KaTeX parse error: Expected '}', got 'EOF' at end of input: …":"1","next":{&quo原创 2019-03-05 14:43:16 · 129 阅读 · 0 评论 -
445. Add Two Numbers II
题目描述You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers and ret...转载 2019-03-02 12:21:29 · 181 阅读 · 0 评论 -
328. Odd Even Linked List
题目描述Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it ...原创 2019-03-02 15:14:02 · 107 阅读 · 0 评论 -
817. Linked List Components
题目描述首先题目的描述就很糟糕,还是中文读的懂一些。给定一个链表(链表结点包含一个整型值)的头结点 head。每个节点的整数值是独一无二的。同时给定列表 G,该列表是上述链表中整型值的一个子集。返回列表 G 中组件的个数,这里对组件的定义为:链表中一段最长连续结点的值(该值必须在列表 G 中)构成的集合。示例 1:输入:head: 0->1->2->3G = [0...原创 2019-03-02 16:02:58 · 105 阅读 · 0 评论 -
86. Partition List
题目描述给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5方法思路先来一个错误的代码:下面的第一块代码是不会通过的...原创 2019-03-02 17:45:51 · 159 阅读 · 0 评论 -
725. Split Linked List in Parts(分隔链表)
题目描述给定一个头结点为 root 的链表, 编写一个函数以将链表分隔为 k 个连续的部分。每部分的长度应该尽可能的相等: 任意两部分的长度差距不能超过 1,也就是说可能有些部分为 null。这k个部分应该按照在链表中出现的顺序进行输出,并且排在前面的部分的长度应该大于或等于后面的长度。返回一个符合上述规则的链表的列表。举例: 1->2->3->4, k = 5 // ...原创 2019-03-03 10:42:30 · 172 阅读 · 0 评论 -
24. Swap Nodes in Pairs(成对的交换节点)
题目描述Given a linked list, swap every two adjacent nodes and return its head.You may not modify the values in the list’s nodes, only nodes itself may be changed.Example:Given 1->2->3->4, yo...原创 2019-03-03 17:21:39 · 117 阅读 · 0 评论 -
138. Copy List with Random Pointer(复制带有随机指针的链表)
题目描述A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.Example 1:Input:{“KaTeX parse...原创 2019-03-06 14:53:18 · 170 阅读 · 0 评论 -
430. Flatten a Multilevel Doubly Linked List(扁平化多级双向链表)
题目描述您将获得一个双向链表,除了下一个和前一个指针之外,它还有一个子指针,可能指向单独的双向链表。这些子列表可能有一个或多个自己的子项,依此类推,生成多级数据结构,如下面的示例所示。扁平化列表,使所有结点出现在单级双链表中。您将获得列表第一级的头部。示例:输入:1—2---3—4---5—6–NULL|7—8---9—10–NULL|11–12–NULL输出:1-2-3-7...原创 2019-03-03 20:14:01 · 483 阅读 · 0 评论 -
707. Design Linked List(设计链表)
题目描述设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返...原创 2019-03-06 16:24:26 · 142 阅读 · 0 评论 -
2. Add Two Numbers
题目描述You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and ret...原创 2019-03-06 21:36:52 · 96 阅读 · 0 评论 -
109. Convert Sorted List to Binary Search Tree(有序链表转换成二叉搜索树)
题目描述给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树: 0 / \-3 9/ /-...原创 2019-03-04 19:51:15 · 207 阅读 · 0 评论 -
142. Linked List Cycle II(环形链表II)
题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to node index ...原创 2019-03-05 09:39:41 · 140 阅读 · 0 评论 -
82. Remove Duplicates from Sorted List II(删除给定有序链表的重复结点 II)
题目描述Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.给定已排序的链接列表,删除所有具有重复数字的节点,只留下原始列表中的不同数字。Example 1:Input: 1->2-&...原创 2019-03-04 21:48:50 · 182 阅读 · 0 评论 -
203. Remove Linked List Elements
题目描述Remove all elements from a linked list of integers that have value val.Example:Input: 1->2->6->3->4->5->6, val = 6Output: 1->2->3->4->5方法思路Approach1:class Sol...原创 2019-02-27 21:09:06 · 105 阅读 · 0 评论 -
234. Palindrome Linked List(回文链表)
题目描述Given a singly linked list, determine if it is a palindrome.Example 1:Input: 1->2Output: falseExample 2:Input: 1->2->2->1Output: true方法思路class Solution {//Runtime: 1 ms, fast...原创 2019-02-27 21:13:31 · 111 阅读 · 0 评论 -
141. Linked List Cycle
题目描述Given a linked list, determine if it has a cycle in it.To represent a cycle in the given linked list, we use an integer pos which represents the position (0-indexed) in the linked list where tai...原创 2019-02-27 21:29:05 · 132 阅读 · 0 评论 -
83. Remove Duplicates from Sorted List
题目描述Given a sorted linked list, delete all duplicates such that each element appear only once.Example 1:Input: 1->1->2Output: 1->2Example 2:Input: 1->1->2->3->3Outpu原创 2019-02-27 21:34:48 · 136 阅读 · 0 评论 -
21. Merge Two Sorted Lists
题目描述Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.Example:Input: 1->2->4, 1->3->4Output: ...原创 2019-02-27 21:38:34 · 134 阅读 · 0 评论 -
237. Delete Node in a Linked List
题目描述Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.Example 1:Input: head = [4,5,1,9], node = 5Output: [4,1,9]Explanation: You are give...原创 2019-02-27 21:42:40 · 95 阅读 · 0 评论 -
206. Reverse Linked List
题目描述Reverse a singly linked list.Example:Input: 1->2->3->4->5->NULLOutput: 5->4->3->2->1->NULL方法思路Approach1: iterativelyclass Solution { public ListNode revers...原创 2019-02-27 21:48:54 · 101 阅读 · 0 评论 -
876. Middle of the Linked List
题目描述Given a non-empty, singly linked list with head node head, return a middle node of linked list.If there are two middle nodes, return the second middle node.Example 1:Input: [1,2,3,4,5]Output:...原创 2019-02-27 21:58:40 · 130 阅读 · 0 评论 -
92. Reverse Linked List II
题目描述Reverse a linked list from position m to n. Do it in one-pass.Note: 1 ≤ m ≤ n ≤ length of list.Example:Input: 1->2->3->4->5->NULL, m = 2, n = 4Output: 1->4->3-&a原创 2019-02-28 16:05:18 · 94 阅读 · 0 评论 -
61. Rotate List(旋转链表)
题目描述Given a linked list, rotate the list to the right by k places, where k is non-negative.Example 1:Input: 1->2->3->4->5->NULL, k = 2Output: 4->5-&am原创 2019-02-28 16:10:00 · 182 阅读 · 0 评论 -
143. Reorder List(重新排序链表)
题目描述Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You may not modify the values in the list’s nodes, only nodes itself may be changed.Example 1:Given 1->2...转载 2019-02-28 16:15:30 · 175 阅读 · 0 评论 -
148. Sort List
题目描述Sort a linked list in O(n log n) time using constant space complexity.Example 1:Input: 4->2->1->3Output: 1->2->3->4Example 2:Input: -1->5->3-&gt原创 2019-03-01 12:44:18 · 123 阅读 · 0 评论 -
147. Insertion Sort List(对链表进行插入排序)
题目描述方法思路创建一个辅助的新链表,并且使用一个指针遍历原链表,每次将原链表中的一个节点插入到新链表的合适位置(即该节点的值大于新链表上的节点的值,又小于后一节点的值)。最后将新链表的头部返回即可。class Solution { //Runtime: 32 ms, faster than 34.04% //Memory Usage: 37.9 MB, less than...原创 2019-03-01 12:52:22 · 100 阅读 · 0 评论 -
19. Remove Nth Node From End of List(删除链表倒数的第N个结点)
题目描述Given a linked list, remove the n-th node from the end of list and return its head.Example:Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, ...原创 2019-03-04 20:35:51 · 150 阅读 · 0 评论