当前位置:网站首页>203、移出链表元素(链表)
203、移出链表元素(链表)
2022-04-23 10:12:00 【Popuessing's Jersey】
题意:删除链表中等于给定值 val 的所有节点。
示例 1:
输入:head = [1,2,6,3,4,5,6], val = 6
输出:[1,2,3,4,5]
示例 2:
输入:head = [], val = 1
输出:[]
示例 3:
输入:head = [7,7,7,7], val = 7
输出:[]
方法一:使用哨兵节点
public class Yichulianbiaoyuansu {
static class ListNode<E>{
ListNode next; // 对象引用下一个节点对象
E val;//数据:节点数据
ListNode(E val){
this.val = val;
}
}
public ListNode removeElements(ListNode head,int val){
//如果头结点为空,返回空
if(head==null){
return null;
}
//定义哨兵节点
ListNode dummy = new ListNode(-1);
ListNode pre = dummy;
ListNode cur = head;
while (cur!=null){
//如果当前节点是要删除的节点
if ((int)cur.val==val){
ListNode node = cur.next;//保存cur当前节点的后一个节点
cur.next = null;//释放当前节点指向的空间(在java中这一步可以省略,由JVM垃圾回收处理内存空间的释放)
pre.next = node;
}else {
pre = cur;
}
cur = cur.next;
}
return dummy.next;
}
public static void main(String[] args) {
ListNode node1 = new ListNode(1);
ListNode node2 = new ListNode(4);
ListNode node3 = new ListNode(2);
ListNode node4 = new ListNode(4);
node1.next = node2;
node2.next = node3;
node3.next = node4;
Yichulianbiaoyuansu yichulianbiaoyuansu = new Yichulianbiaoyuansu();
ListNode res =yichulianbiaoyuansu.removeElements(node1,1);
//创建链表节点
while (res!=null){
if(res.next==null){
System.out.print(res.val);
}else {
System.out.print(res.val + "->");
}
res = res.next;
}
}
}
版权声明
本文为[Popuessing's Jersey]所创,转载请带上原文链接,感谢
https://blog.csdn.net/CoCo629vanilla/article/details/121388096
边栏推荐
- LeetCode-608. Tree node
- 通过流式数据集成实现数据价值(5)- 流分析
- Go语言实践模式 - 函数选项模式(Functional Options Pattern)
- 1D / 1D dynamic programming learning summary
- Using idea to develop Spark Program
- Jerry's factors that usually affect CPU performance test results are: [article]
- 最长公共前串
- failureForwardUrl与failureUrl
- CSP认证 202203-2 出行计划(多种解法)
- Juc并发编程06——深入剖析队列同步器AQS源码
猜你喜欢

Shell script interaction free

lnmp的配置

Question bank and answers of Shanghai safety officer C certificate examination in 2022

Operation of 2022 tea artist (primary) test question simulation test platform

2022年制冷与空调设备运行操作考试练习题及模拟考试

C语言——自定义类型

2022年流动式起重机司机考试题库模拟考试平台操作

基于PyQt5实现弹出任务进度条功能示例

Windows安装redis并将redis设置成服务开机自启
![[untitled]](/img/72/d3e46a820796a48b458cd2d0a18f8f.png)
[untitled]
随机推荐
杰理之有时候发现内存被篡改,但是没有造成异常,应该如何查找?【篇】
Configuration of LNMP
NEC红外遥控编码说明
Realizing data value through streaming data integration (5) - flow analysis
Epidemic prevention registration applet
通过流式数据集成实现数据价值(5)- 流处理
DBA常用SQL语句(1)— 概况信息
工业元宇宙平台规划与建设
Ansible cloud computing automation
中控学习型红外遥控模块支持网络和串口控制
正大国际讲解道琼斯工业指数到底是什么?
通过流式数据集成实现数据价值(5)- 流分析
杰理之更准确地确定异常地址【篇】
《谷雨系列》空投
Introduction to graph theory -- drawing
通过流式数据集成实现数据价值(4)-流数据管道
杰理之通常程序异常情况有哪些?【篇】
【无标题】
Using idea to develop Spark Program
Realizing data value through streaming data integration (5) - stream processing