代码随想录算法训练3day| 链表理论基础 、203.移除链表元素、707.设计链表 、 206.反转链表。

前言

因为本身对链表整个概念不熟悉,然后重新开始学习链表,这就导致耗时较长,只对移除链表元素理解的稍微好点,剩余两道题还很难啃,所有题目都放在文章尾部了

移除链表元素

第一思路:直接将前节点的next 指向下一节点的head就可以了(审题太不严谨了)

第二思路:发现有两种方法可以解决,使用原链表删除元素或使用虚拟头节点,这里主要学了原链表删除,同时还需要考虑元素的位置及元素的个数

题目是:给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 

        1、需要考虑头节点和其他节点

                 对于头节点的处理,只需把head指向后一位即head.next

                 若是其他节点,则是采用前节点的next 指向下一节点的head

        2、需要考虑移除元素的个数

发现的问题:

        数据结构的基本功不够,需要进行学习

        对类的掌握的不是很好,不能用到链表中

参考资料:

203.移除链表元素

206.反转链表

707.设计链表

代码随想录

猜你喜欢

转载自blog.csdn.net/weixin_53333922/article/details/127018550