链表
文章平均质量分 53
链表
Luck66Max
“放弃很容易,但坚持一定很酷!”
展开
-
剑指 Offer 52. 两个链表的第一个公共节点
输入解释:相交节点的值为 8 (注意,如果两个列表相交则不能为 0)。从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,0,1,8,4,5]。在 B 中,相交节点前有 3 个节点。输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,0,1,8,4,5], skipA = 2, skipB = 3。输入两个链表,找出它们的第一个公共节点。这不是《你的名字》的剧情么?你变成我,走过我走过的路。我变成你,走过你走过的路。原创 2023-02-18 20:44:59 · 62 阅读 · 0 评论 -
【链表】BM6 判断链表中是否有环
【代码】【链表】BM6 判断链表中是否有环。原创 2023-01-30 19:35:14 · 60 阅读 · 0 评论 -
【链表】BM5 合并k个已排序的链表
优先队列比较奇怪,小根堆的比较方式写的是。原创 2023-01-29 21:18:01 · 53 阅读 · 0 评论 -
【链表】BM3 链表中的节点每k个一组翻转
【代码】【链表】BM3 链表中的节点每k个一组翻转。原创 2023-01-28 21:46:55 · 104 阅读 · 0 评论 -
【链表】链表内指定区间反转
step 1:我们可以在链表前加一个表头,后续返回时去掉就好了,因为如果要从链表头的位置开始反转,在多了一个表头的情况下就能保证第一个节点永远不会反转,不会到后面去。将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。复杂度分析: 时间复杂度:O(N) 其中 N是链表总节点数。最坏情况下,需要遍历整个链表。给出的链表为1→2→3→4→5→NULL, m=2,n=4m=2,n=4,要求:时间复杂度 O(n),空间复杂度 O(n)原创 2023-01-27 19:24:53 · 1291 阅读 · 0 评论 -
【链表】反转链表
使用一个指针cur指向头结点,另一个指针初始为nullptr,然后用一个临时变量tmp保存cur->next,因为接下来需要反转cur->next。给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。大致明白思路,具体这个递归的执行过程不理解,比上个还绕,,,如当输入链表{1,2,3}时,原创 2023-01-27 16:30:36 · 550 阅读 · 0 评论