链表 part01

2026.01.30 第三天

203 移除链表元素

这题比较基础,实现删除某一节点只需要将上一节点指针域指向要删除的节点的后继节点,而后清理已删除节点的内存即可。

记得之前看到过虚拟头节点思想,但是没想起来,解题时使用了两个while循环分别处理删除头节点和非头节点的情况。

如果使用虚拟头节点,就可以统一节点处理方法,减少代码量,让代码逻辑更加简单清晰。找到规律而后统一处理逻辑,也是解算法题的统一思路。

707 设计链表

还是使用了虚拟头节点思想。一上来自己写的还是一团乱麻~

在看了视频讲解+vs进行debug的情况下实现了所有功能,总体来说不难,但是逻辑思维要求还是比较高的,尤其是边界条件的考虑,栽在这里很多次了。。

while(index--)挺好用,以后要记住了~

在基础不牢,不够熟练的情况下,还是中规中矩实现基础功能就行吧。

206 反转链表

又是一种双指针的妙用

题目关键在于想到从头开始,每前进一个节点,将当前节点的指针域指向前一个节点,最后返回最后一个节点的地址即可。

在理解了双指针方式之后还可以使用相同的思想以递归形式实现代码,但是时间复杂度不变,使用的栈内存增加。

posted @ 2026-01-31 20:35  遠くの君  阅读(2)  评论(0)    收藏  举报