代码随想录算法训练营第三天| 203.移除链表元素 ,707.设计链表 ,206.反转链表
发布时间:2024年01月11日
刷题建议
刷题建议与debug
- 代码随想录目前基本都有了视频讲解,一定要先看视频,事半功倍。
- 写博客,将自己的感悟沉淀下来,不然会忘
- 大家提问的时候,记得要把问题描述清楚,自己在哪一步遇到了问题,做了哪些调试,而不要只是把代码甩出来,这样方便大家帮忙快速定位问题。
今日学习文章链接和视频链接
Python菜鸟教程
203.移除链表元素
自己看到题目的第一想法
- 怎么遍历链表?忘了。。。
看完代码随想录之后的想法
- 可以特殊判断head或者设置虚拟头节点,重点掌握虚拟头节点,删除,增加节点都设置虚拟头节点,统一操作,不用刻意判断
- 要理解整个流程,边界判断cur与cur->next,不要背
自己实现过程中遇到哪些困难
相关题目
707.设计链表
自己看到题目的第一想法
- 要熟悉如何初始化链表
int get(int index)
cur指向dummy head,判断index是否合法,然后遍历index值,最后返回cur.val
void addAtHead(int val)
.新申请节点k,然后插入到 dummy_head与head中间void addAtTail(int val)
尾插法,cur从dummy_head开始遍历到cur.next = none,
cur指向尾节点,- …注意边界,带入边界值
看完代码随想录之后的想法
- head下标为0,
- 注意边界,带入边界值,head 0
- for i in range(0),不执行
- 要掌握单链表写法和双链表写法
206.反转链表
自己看到题目的第一想法
- 设置双指针,fast指针的next指向slow,然后双双+1,直到fast.next为NULL
- 超出时间限制,应该是指针变换引起的
看完代码随想录之后的想法
- 双指针法一个是要明确边界条件,cur指向None的时候,pre指向尾节点,反转结束
- 设置cur 在反转指针后,如何跳到下一个节点?设置temp节点存储
- pre最先指向None,cur指向head,开始反转
- 还需要掌握递归解法
自己实现过程中遇到哪些困难
- 想到了双指针,但没有想清楚边界条件和怎么实现的
今日收获,记录一下自己的学习时长
文章来源:https://blog.csdn.net/m0_46266264/article/details/135312753
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!