java listnode 合并链表_java链表ListNode删除特定值
转自:qq_17525769的博客,网址:https://blog.csdn.net/qq_17525769/article/details/53915042
package algorithm;
import java.lang.ref.WeakReference;
/*
删除链表中等于给定值val的所有节点。
样例:
给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1->2->4->5。
* */
public class DeleteListNode {
class ListNode{
int value;//value值
ListNode nextNode;//下一个节点
ListNode(int value){ //构建函数
this.value=value;
this.nextNode=null;
}
}
private ListNode buildListNode(int[] input){
ListNode first=null,last=null;
ListNode newNode;
if(input.length>0){ //存在输入的数组
for(int i=0;inewNode=new ListNode(input[i]);
newNode.nextNode=null;
if(first==null){ //无开始
first=newNode;
last=newNode;
}else{
last.nextNode=newNode;
last=newNode;
}
}
}
return first;
}
/*
* 删除链表中值为val
*
* */
public ListNode removeElements(ListNode head,int val){
if(head==null){
return null;
}
ListNode p=head;
ListNode q=head.nextNode;
while(q!=null){
if(q.value==val){
p.nextNode=q.nextNode;
q=q.nextNode;
}else{
p=p.nextNode;
q=q.nextNode;
}
}
if(head.value==val){
return head.nextNode;
}
return head;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] input={1,2,3,3,4,4,5};
DeleteListNode dln=new DeleteListNode();
//弱连接,当垃圾回收时,无论内存是否充足,都回收
//WeakReferencewff=new WeakReference(dln);
ListNode head=null;
ListNode listNode=dln.buildListNode(input);
head=listNode;
System.out.println("新添加的链表如下:");
while(listNode!=null){
//System.out.println("value="+listNode.value+" /listNode"+listNode.nextNode);
System.out.print("->"+listNode.value);
listNode=listNode.nextNode;
}
System.out.println("");
//删除特定的值
int target=3;
dln.removeElements(head, target);
listNode=head;
System.out.println("删除"+target+ " 新添加的链表如下:");
while(listNode!=null){
//System.out.println("value="+listNode.value+" /listNode"+listNode.nextNode);
System.out.print("->"+listNode.value);
listNode=listNode.nextNode;
}
}
}
转自:qq_17525769的博客,网址:https://blog.csdn.net/qq_17525769/article/details/53915042
java listnode 合并链表_java链表ListNode删除特定值相关推荐
- java初始化一个链表_Java 链表(LinkNode)的简单操作:初始化,遍历,插入,删除等...
由于java中没有结构体,所以用一个类来定义链表,代码如下 主要包括一个data,还有一个指向后面一个节点的next 重写了toString函数,返回你想要的数据 定义链表的类: package Li ...
- 怎么使用java初始化链表_Java 链表(LinkNode)的简单操作:初始化,遍历,插入,删除等...
由于java中没有结构体,所以用一个类来定义链表,代码如下 主要包括一个data,还有一个指向后面一个节点的next 重写了toString函数,返回你想要的数据 定义链表的类: package Li ...
- java什么时候用链表_java链表的原理及使用方法
链表是一种物理存储单元上非连续.非顺序(即每个数据对象data存放的位置可以是非连续.非顺序的)的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 链表中每一个元素称为结点,结点可以在运 ...
- java map移除_Java根据条件删除Map中元素
今天在写程序过程中,需要根据判断条件删除一个Map中的相应数据,我自然而然想到可以通过调用Map中的remove(Object key)函数进行删除:代码如下: public Map processM ...
- java 数据合并算法_Java与算法之(11) - 合并排序
天下事,合久必分,分久必合.合并排序的基本思想正是先分再合. 例如对3, 1这个数列排序,首先是分,分为3和1两个数列,然后再合并并排序.合并需要额外的辅助空间,即建立一个两个数列长度之和的空数组用于 ...
- java list 移除_java 中List删除实例详解
java 中List删除实例详解 1.循环删除List中的元素 public static void main(String[] args) { List t=new ArrayList(); for ...
- java list 合并去重_java 怎么把多个list 合并成一个去掉重复的
展开全部 示例代码636f707962616964757a686964616f31333361313838: public static void main(String[] args){ List ...
- java 解除文件占用_Java如何强制删除java程序占用的文件
在JAVA对文件的读写操作中,操作完以后将输入流和输出流及时关闭时很必要的.假如我们有时候忘记关闭了,又不知道在哪个地方去关闭,为了删除该文件,JAVA可以进行强制删除操作.可以使用如下代码进行强制删 ...
- java 快速合并文件_java 实现切割文件和合并文件的功能
java 实现切割文件和合并文件的功能 一.切割文件代码如下: 需求:将一个媒体文件切割成多个碎片(每个碎片的大小为1M),并添加配置说明文件 1.创建(指定)一个文件夹,用于保存切割出来的碎片 2. ...
最新文章
- log4j2配置实例[按小时记录日志文件]
- mysql去除输入的字符串中的中文_Sql得到(去除)字符串中所有汉字,字母,数字的函数...
- 一次 Nacos 的踩坑记录!
- 对账 java 龙果支付,龙果支付开源项目对账接口说明
- CentOS中使用Docker来部署Tomcat
- PAT (Advanced Level) 1010 Radix(二分+模拟)
- 妖帝q群机器人_有关酷Q 晨风机器人,契约 qqlite qqlight ,mypc等QQ机器人关停一事的一点想法...
- leetocde —— 114. 二叉树展开为链表
- docker镜像是否包含操作系统
- 并发重复请求及幂等场景的实现总结
- jdk api 1.8 中文版 下载
- laravel框架使用datatables
- As Manufacturers Buckle, Winners Emerge From Havoc
- [落选]狗熊会人才计划第6期选拔作业
- FMVP詹姆斯,王者归来!英雄实至名归!
- 全排列牛客和L46,L47
- 双机(51单片机)串行通信最基本的方法
- [hust]校内生存网站集合
- win7计算机总是卡住,win7系统电脑经常死机的几种原因及修复方法
- 关于股息、增发、回购的个人看法
热门文章
- [内存管理]linux X86_64处理器的内存布局图
- Kafka安全认证-KerberosSCRAM
- Linux和Mac下获取文件CRC/MD5/SHA1/SHA256
- 传说中的中国十大名剑及典故
- 接口自动化:文件上传及下载
- 【AT指令使用】安信可ESP-32-S3/ESP-32-C3系列模组AT固件应用之Web Captive portal功能
- (Tekla Structures二次开发)在图纸中创建旋转的3D视图
- [如何写一篇优秀的论文] 书写初稿
- MOOC 浙江大学 翁恺 程序设计入门C GPS数据处理
- TXT小说朗读正式版