失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > LeetCode第203题移除链表元素

LeetCode第203题移除链表元素

时间:2022-09-02 18:10:40

相关推荐

LeetCode第203题移除链表元素

题目描述

面试现在一般喜欢搞考一些算法题,最近闲来无事,过来LeetCode上刷一刷简单的额题目活跃一下大脑。来看一下题目的描述:删除链表中等于给定值 val 的所有节点。

示例:

输入:1->2->6->3->4->5->6, val = 6

输出:1->2->3->4->5

代码实现

代码实现方式一,遍历链表,断掉所有节点值等于val的链,此时要考虑第一个节点要被删除的情况。

代码实现方式二,也是遍历链表,断掉所有节点值等于val的链,但是引入dummyHead就不用考虑head了

代码实现方式三,使用的是递归的方式,看起来更加简便,但是使用递归方式需要注意栈的调用深度,如果数据量大的话,会造成栈的溢出,为啥会栈的溢出可以阅读我前面的文章java面试中必问的oom问题

总结

一道题可能有很多种,每次多考虑几种实现,然后分析一下时间复杂度和空间复杂度,选择最高效的一种方式。

如果觉得《LeetCode第203题移除链表元素》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。