代码随想录算法训练营第三天| 203.移除链表元素 ,707.设计链表 ,206.反转链表

203.移除链表元素

今日学习的文章链接:https://programmercarl.com/0203.%E7%A7%BB%E9%99%A4%E9%93%BE%E8%A1%A8%E5%85%83%E7%B4%A0.html

自己看到题目的第一想法: 虚拟头结点,两个指针来删除链表元素

看完代码随想录之后的想法:链表节点的定义要记得

遇到的困难:链表节点的定义,是node!=null不是node.next!=null

707.设计链表

今日学习的文章链接:https://programmercarl.com/0707.%E8%AE%BE%E8%AE%A1%E9%93%BE%E8%A1%A8.html

自己看到题目的第一想法:是一道很麻烦的题但是仔细写起来不难

看完代码随想录之后的想法:

遇到的困难:遇到的第一个问题是在构造函数里我加了一个构造一个node,但由于我没有使用size所以这个结点在后面addAtTail那里出现了错误,后续删除构造函数里的代码即可。

第二个问题是发现deleteAtIndex这个函数写起来有很多易错点,我一开始不想设置preNode所以选择了index降为1时node.next = node.next.next,但是这样要考虑index=1,0的情况和溢出的情况。后面我加了preNode结点但是发现index=0的情况还是要单独考虑。

原错误代码,构造函数里多加了一个结点


206.反转链表

今日学习的文章链接:https://programmercarl.com/0206.%E7%BF%BB%E8%BD%AC%E9%93%BE%E8%A1%A8.html

自己看到题目的第一想法:设定两个指针?

看完代码随想录之后的想法:学习了递归法

遇到的困难:三个指针搞清楚如何更新后就不难,但是要注意边缘条件

今日学习时长三小时多,第二题占用时间近两小时。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容