力扣203题(3)

题目及之前的两种解法大家可以移步到这里:

https://blog.csdn.net/suibiansa_/article/details/145242573?spm=1001.2014.3001.5501

力扣203题------ 移除链表元素-CSDN博客

今天呢我们来写一下第三种解法:

虚拟创建一个头结点

java 复制代码
ListNode first=new ListNode();
first.next=head;
ListNode aa=first;

while(aa.next!=null){
    if(aa.next.val==val){
        aa.next=aa.next.next;
    }else{
        aa=aa.next;
    }
}
return  first.next;

思路解释

这里为什么要创建两个指针?

因为下面while循环会使用指针遍历一次链表,如果我们用一个指针first的话,最后返回值为null。

为什么用第二个指针遍历,最后返回第一个指针的后继依然能够满足题目条件?

因为我们在定义两个指针时,已经让两个指针指向同一个节点位置,当遍历完第二个指针时也相当于便历了第一个,最后仍然返回我们创建的虚拟头结点后继即可。

共勉!

相关推荐
DuHz7 分钟前
自动驾驶雷达干扰缓解:探索主动策略论文精读
论文阅读·人工智能·算法·机器学习·自动驾驶·汽车·信号处理
漫随流水9 分钟前
leetcode算法(257.二叉树的所有路径)
数据结构·算法·leetcode·二叉树
liu****12 分钟前
神经网络基础
人工智能·深度学习·神经网络·算法·数据挖掘·回归
有一个好名字12 分钟前
力扣-二叉树的最大深度
算法·leetcode·深度优先
Aaron158812 分钟前
基于RFSOC 49DR+VU13P的64通道VPX架构波束成形技术分析
c语言·人工智能·算法·架构·信息与通信·信号处理·基带工程
我是一只小青蛙88815 分钟前
二分查找巧解数组范围问题
java·开发语言·算法
C_心欲无痕15 分钟前
构建工具中的 hash 与 contenthash作用:以 Webpack 和 Vite 为例
算法·webpack·哈希算法
Jayden_Ruan15 分钟前
C++水仙花数
开发语言·c++·算法
MicroTech202516 分钟前
量子神经网络(QNN):微算法科技(NASDAQ :MLGO)图像分类技术新范式
科技·神经网络·算法
MSTcheng.22 分钟前
【算法】滑动窗口解决力扣『水果成篮』问题
算法·leetcode·哈希算法