- 博客(5)
- 收藏
- 关注
原创 合并有序链表:哨兵位优化技巧
本文介绍了力扣第21题"合并两个有序数组"的解题方法,重点讲解了"哨兵位"算法思想的优化应用。作者首先通过图文展示常规解法:创建新链表并比较两个链表节点值进行尾插。随后提出优化方案——使用"哨兵位"(虚拟头节点),避免了每次插入时的空链表判断,使代码更简洁。文章对比了优化前后的代码,展示了引入哨兵节点如何简化逻辑(从需要判断链表为空到直接尾插),同时需要注意返回真实链表头节点(哨兵的下一个节点)并释放哨兵内存。最终优化后的代码结构更清晰,消除了冗余
2026-07-20 17:58:29
229
原创 快慢指针巧解链表中间结点
本文讲解了力扣第876题"链表的中间结点"的解法。通过快慢指针法,快指针每次移动两步,慢指针每次移动一步,当快指针到达链表末尾时,慢指针正好指向中间节点。文章详细分析了奇数个节点和偶数个节点的两种情况,并给出了C语言的实现代码。该方法时间复杂度为O(n),空间复杂度为O(1),是一种高效的链表中间节点查找算法。
2026-07-18 11:18:29
193
2
原创 反转链表超简单!3步搞定力扣206题
到这里我们的反转链表就已经完成了 这里新的表头就是L1 L2就从原先的表头变为NULL这里完全就可以让L2作为我们循环结束的标志 只要L2为NULL就跳出循环。今天小编要跟大家一起学习的是力扣网站上第206道算法题 名字叫反转链表 小编会把自己的解题思路和作图过程一一给大家展示 希望对大家会有所帮助。L3的作用来了它的目的就是把L2->next的这个值先记住以防待会儿要改L2->next的地址时原先的值找不到了被覆盖了。现在我们就可以放心大胆的把L2->next的值传给L1了。
2026-07-17 10:50:05
178
原创 移除链表元素
这篇文章分享了力扣第203题(移除链表元素)的解题思路。作者通过定义新链表头尾指针newHead和newTail,以及遍历指针pcur,逐步将原链表中不等于val的节点复制到新链表中。重点讲解了while循环遍历原链表的过程,包括处理第一个节点和后续节点的连接操作,最后强调要将新链表尾节点的next置空。文章采用代码结合图示的方式,详细说明了链表操作的关键步骤,适合初学者理解链表删除操作的基本思路。
2026-07-15 16:51:01
240
2
原创 一个新手计算机小白 学习C的初体验(一)
一、想对自己说的话我是一个计科的大二学生 通过上比特的课才了解到有优快云的这个发博客的软件 之前总觉得写博客是那些有文采的人才会做的事 但现在想想的话 如果把这个设置成私密的话 就没那么害怕了。先说说自己的现况 已经到了大二下了 按常理作为一个计科的学生这时候早就已经把C语言 最基本的专业课学的很明白了 但是可能是大课的原因吧 再加上上课自己总是不专注听讲 那时候豆包还特别流行 就把平时的作业 全部用AI糊弄过去了 期末的时候纯纯就是靠死记硬背把C语言考试给过了 当时觉得没什么 但当随着课程逐渐深入我发现
2026-04-08 16:59:08
25
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅