单链表相关经典算法OJ题:移除链表元素

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

题目:移除链表元素

解法一:

解法一的代码实现:

解法二:

解法二代码的实现:

总结


前言

世上有两种耀眼的光芒,一种是正在升起的太阳,一种是正在努力学习编程的你!一个爱学编程的人。各位看官,我衷心的希望这篇博客能对你们有所帮助,同时也希望各位看官能对我的文章给与点评,希望我们能够携手共同促进进步,在编程的道路上越走越远!


提示:以下是本篇文章正文内容,下面案例可供参考

题目:移除链表元素

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

单链表相关经典算法OJ题:移除链表元素_第1张图片

解法一:

单链表相关经典算法OJ题:移除链表元素_第2张图片

解法一:是直接在原链表上删除==val值所在的节点,这个方法是定义两个指针,一个指针是紧跟在找到val值所在节点的前一个位置;另一个指针遍历链表寻找val的节点,找到后,申请一个临时的节点指向val节点的下一个节点,然后把val值的节点释放掉,最后返回头结点即可。

解法一的代码实现:

单链表相关经典算法OJ题:移除链表元素_第3张图片

单链表相关经典算法OJ题:移除链表元素_第4张图片

解法二:

单链表相关经典算法OJ题:移除链表元素_第5张图片

解法二:该方法是定义三个指针,两个做为新链表的头和尾,然后第三个指针去遍历原链表,把不是val值所在的节点尾插到新链表的尾部,最后返回新链表的头节点即可。

解法二代码的实现:

单链表相关经典算法OJ题:移除链表元素_第6张图片

单链表相关经典算法OJ题:移除链表元素_第7张图片


总结

好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。

你可能感兴趣的:(数据结构与算法,算法,链表,数据结构)