![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
链表
文章平均质量分 81
算法#链表
李牧九丶
奉己为神
展开
-
从零学算法148
进阶:你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?.给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表。输入:head = [-1,5,3,4,0]链表中节点的数目在范围 [0, 5 * 10。输入:head = [4,2,1,3]输出:[-1,0,3,4,5]输出:[1,2,3,4]输入:head = []原创 2024-03-20 14:56:25 · 735 阅读 · 0 评论 -
从零学算法23
输入:lists = [[1,4,5],[1,3,4],[2,6]]请你将所有链表合并到一个升序链表中,返回合并后的链表。lists[i].length 的总和不超过 10。.给你一个链表数组,每个链表都已经按升序排列。输出:[1,1,2,3,4,4,5,6]将它们合并到一个有序链表中得到。lists[i] 按 升序 排列。输入:lists = [[]]输入:lists = []原创 2024-03-20 10:21:15 · 703 阅读 · 0 评论 -
从零学算法2
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]你可以假设除了数字 0 之外,这两个数都不会以 0 开头。输入:l1 = [2,4,3], l2 = [5,6,4]请你将两个数相加,并以相同形式返回一个表示和的链表。输入:l1 = [0], l2 = [0]输出:[8,9,9,9,0,0,0,1]解释:342 + 465 = 807.输出:[7,0,8]原创 2023-06-07 16:02:05 · 731 阅读 · 0 评论 -
从零学算法19
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1], n = 1。输出:[1,2,3,5]原创 2023-04-28 14:11:43 · 42 阅读 · 0 评论 -
从零学算法328
给定单链表的头节点 head ,将所有索引为奇数的节点和索引为偶数的节点分别组合在一起,然后返回重新排序的列表。你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。第一个节点的索引被认为是 奇数 , 第二个节点的索引为 偶数 ,以此类推。请注意,偶数组和奇数组内部的相对顺序应该与输入时保持一致。输入: head = [2,1,3,5,6,4,7]输入: head = [1,2,3,4,5]输出: [2,3,6,7,1,5,4]输出: [1,3,5,2,4]原创 2023-12-21 16:11:13 · 409 阅读 · 0 评论 -
从零学算法160
输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA = 2, skipB = 3。输入:intersectVal = 2, listA = [1,9,1,2,4], listB = [3,2,4], skipA = 3, skipB = 1。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。解释:相交节点的值为 2 (注意,如果两个链表相交则不能为 0)。原创 2023-08-22 15:34:08 · 232 阅读 · 0 评论 -
从零学算法138
新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]输出:[[7,null],[13,0],[11,4],[10,2],[1,0]]输入:head = [[3,null],[3,0],[3,null]]输出:[[3,null],[3,0],[3,null]]输入:head = [[1,1],[2,1]]输出:[[1,1],[2,1]]原创 2023-08-04 10:18:38 · 149 阅读 · 0 评论