随笔分类 -  链表(ListNode)

摘要:给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[ 1->4->5, 1->3->4, 2->6]将它们合 阅读全文
posted @ 2021-11-03 23:29 风不再来 阅读(62) 评论(0) 推荐(0) 编辑
摘要:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head = [1,2,3,4,5], k = 2输出:[4,5,1,2,3] 示例 2: 输入:head = [0,1,2], k = 4输出:[2,0,1] 提示: 链表中节点的数目在范围 [0, 阅读全文
posted @ 2021-11-03 21:36 风不再来 阅读(31) 评论(0) 推荐(0) 编辑
摘要:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2: 输入:head = []输出:[]示例 3: 输入:head = [1]输出:[1] 提示 阅读全文
posted @ 2021-11-02 22:03 风不再来 阅读(22) 评论(0) 推荐(0) 编辑
摘要:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 进阶:你能尝试使用一趟扫描实现吗? 示例 1: 输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2: 输入:head = [1], n = 1输出:[]示例 3: 输入:head = [1,2] 阅读全文
posted @ 2021-11-02 22:02 风不再来 阅读(26) 评论(0) 推荐(0) 编辑
摘要:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6 阅读全文
posted @ 2021-10-08 20:35 风不再来 阅读(54) 评论(0) 推荐(0) 编辑
摘要:167. 链表求和 中文English 你有两个用链表代表的整数,其中每个节点包含一个数字。数字存储按照在原来整数中相反的顺序,使得第一个数字位于链表的开头。写出一个函数将两个整数相加,用链表形式返回和。 样例 样例 1: 输入: 7->1->6->null, 5->9->2->null 输出: 2 阅读全文
posted @ 2021-01-11 00:39 风不再来 阅读(108) 评论(0) 推荐(0) 编辑
摘要:1609. 链表的中间结点 中文English 给定一个带有头结点 head 的非空单链表,返回链表的中间结点。 如果有两个中间结点,则返回第二个中间结点。 样例 样例 1: 输入:1->2->3->4->5->null 输出:3->4->5->null 样例 2: 输入:1->2->3->4->5 阅读全文
posted @ 2021-01-11 00:18 风不再来 阅读(67) 评论(0) 推荐(0) 编辑
摘要:219. 在排序链表中插入一个节点 中文English 在链表中插入一个节点。 样例 样例 1: 输入:head = 1->4->6->8->null, val = 5 输出:1->4->5->6->8->null 样例 2: 输入:head = 1->null, val = 2 输出:1->2-> 阅读全文
posted @ 2020-08-15 13:54 风不再来 阅读(299) 评论(0) 推荐(0) 编辑
摘要:105. 复制带随机指针的链表 中文English 给出一个链表,每个节点包含一个额外增加的随机指针可以指向链表中的任何节点或空的节点。 返回一个深拷贝的链表。 挑战 可否使用O(1)的空间 hashmap写法,O(n)时间复杂度 """ Definition for singly-linked l 阅读全文
posted @ 2020-08-09 22:37 风不再来 阅读(102) 评论(0) 推荐(0) 编辑
摘要:35. 翻转链表 中文English 翻转一个链表 样例 样例 1: 输入: 1->2->3->null 输出: 3->2->1->null 样例 2: 输入: 1->2->3->4->null 输出: 4->3->2->1->null 挑战 在原地一次翻转完成 输入测试数据 (每行一个参数)如何理 阅读全文
posted @ 2020-08-09 17:39 风不再来 阅读(132) 评论(0) 推荐(0) 编辑
摘要:450. K组翻转链表 中文English 给你一个链表以及一个k,将这个链表从头指针开始每k个翻转一下。链表元素个数不是k的倍数,最后剩余的不用翻转。 样例 Example 1 Input: list = 1->2->3->4->5->null k = 2 Output: 2->1->4->3-> 阅读全文
posted @ 2020-08-09 17:05 风不再来 阅读(89) 评论(0) 推荐(0) 编辑
摘要:165. 合并两个排序链表 中文English 将两个排序链表合并为一个新的排序链表 样例 样例 1: 输入: list1 = null, list2 = 0->3->3->null 输出: 0->3->3->null 样例2: 输入: list1 = 1->3->8->11->15->null, 阅读全文
posted @ 2020-08-09 12:04 风不再来 阅读(130) 评论(0) 推荐(0) 编辑
摘要:103. 带环链表 II 中文English 给定一个链表,如果链表中存在环,则返回到链表中环的起始节点,如果没有环,返回null。 样例 样例 1: 输入:null,no cycle 输出:no cycle 解释: 链表为空,所以没有环存在。 样例 2: 输入:-21->10->4->5,tail 阅读全文
posted @ 2020-08-09 10:41 风不再来 阅读(141) 评论(0) 推荐(0) 编辑
摘要:102. 带环链表 中文English 给定一个链表,判断它是否有环。 样例 ``` 样例 1: 输入: 21->10->4->5, then tail connects to node index 1(value 10). 输出: true 样例 2: 输入: 21->10->4->5->null 阅读全文
posted @ 2020-08-09 10:36 风不再来 阅读(96) 评论(0) 推荐(0) 编辑