力扣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。

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

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

共勉!

相关推荐
飞Link12 小时前
预训练阶段中的模型自我提升、通用模型蒸馏和数据增强中的数据重构和非LLM驱动的数据增强
算法·重构·数据挖掘
实战项目12 小时前
K-nearest算法在分类问题中的优化
算法·分类·数据挖掘
学嵌入式的小杨同学12 小时前
【嵌入式 C 语言实战】手动实现字符串四大核心函数(strcpy/strcat/strlen/strcmp)
c语言·开发语言·前端·javascript·数据结构·数据库·算法
qunaa010112 小时前
基于改进YOLO11-ASF-P2的多旋翼无人机检测识别系统_红外航拍目标检测算法优化_1
算法·目标检测·无人机
Xの哲學12 小时前
Linux 页回收机制深度剖析: 从设计哲学到实战调试
linux·服务器·网络·算法·边缘计算
幽络源小助理12 小时前
Yolo-Seg实例分割自动标注工具-幽络源原创
算法·yolo·实例分割·自动标注
橘颂TA12 小时前
【剑斩OFFER】算法的暴力美学——LeetCode 703 题:数据流中的第 K 大元素
网络·算法·结构与算法
信奥卷王12 小时前
2025年9月GESPC++四级真题解析(含视频)
数据结构·c++·算法
朔北之忘 Clancy13 小时前
第一章 顺序结构程序设计(2)
c++·算法·青少年编程·竞赛·教材·考级·讲义
小程同学>o<13 小时前
嵌入式之C语言面试题(一)基本概念及其它问答题
c语言·面试·职场和发展·嵌入式软件·c语言面试