转自: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删除特定值相关推荐

  1. java初始化一个链表_Java 链表(LinkNode)的简单操作:初始化,遍历,插入,删除等...

    由于java中没有结构体,所以用一个类来定义链表,代码如下 主要包括一个data,还有一个指向后面一个节点的next 重写了toString函数,返回你想要的数据 定义链表的类: package Li ...

  2. 怎么使用java初始化链表_Java 链表(LinkNode)的简单操作:初始化,遍历,插入,删除等...

    由于java中没有结构体,所以用一个类来定义链表,代码如下 主要包括一个data,还有一个指向后面一个节点的next 重写了toString函数,返回你想要的数据 定义链表的类: package Li ...

  3. java什么时候用链表_java链表的原理及使用方法

    链表是一种物理存储单元上非连续.非顺序(即每个数据对象data存放的位置可以是非连续.非顺序的)的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 链表中每一个元素称为结点,结点可以在运 ...

  4. java map移除_Java根据条件删除Map中元素

    今天在写程序过程中,需要根据判断条件删除一个Map中的相应数据,我自然而然想到可以通过调用Map中的remove(Object key)函数进行删除:代码如下: public Map processM ...

  5. java 数据合并算法_Java与算法之(11) - 合并排序

    天下事,合久必分,分久必合.合并排序的基本思想正是先分再合. 例如对3, 1这个数列排序,首先是分,分为3和1两个数列,然后再合并并排序.合并需要额外的辅助空间,即建立一个两个数列长度之和的空数组用于 ...

  6. java list 移除_java 中List删除实例详解

    java 中List删除实例详解 1.循环删除List中的元素 public static void main(String[] args) { List t=new ArrayList(); for ...

  7. java list 合并去重_java 怎么把多个list 合并成一个去掉重复的

    展开全部 示例代码636f707962616964757a686964616f31333361313838: public static void main(String[] args){ List  ...

  8. java 解除文件占用_Java如何强制删除java程序占用的文件

    在JAVA对文件的读写操作中,操作完以后将输入流和输出流及时关闭时很必要的.假如我们有时候忘记关闭了,又不知道在哪个地方去关闭,为了删除该文件,JAVA可以进行强制删除操作.可以使用如下代码进行强制删 ...

  9. java 快速合并文件_java 实现切割文件和合并文件的功能

    java 实现切割文件和合并文件的功能 一.切割文件代码如下: 需求:将一个媒体文件切割成多个碎片(每个碎片的大小为1M),并添加配置说明文件 1.创建(指定)一个文件夹,用于保存切割出来的碎片 2. ...

最新文章

  1. log4j2配置实例[按小时记录日志文件]
  2. mysql去除输入的字符串中的中文_Sql得到(去除)字符串中所有汉字,字母,数字的函数...
  3. 一次 Nacos 的踩坑记录!
  4. 对账 java 龙果支付,龙果支付开源项目对账接口说明
  5. CentOS中使用Docker来部署Tomcat
  6. PAT (Advanced Level) 1010 Radix(二分+模拟)
  7. 妖帝q群机器人_有关酷Q 晨风机器人,契约 qqlite qqlight ,mypc等QQ机器人关停一事的一点想法...
  8. leetocde —— 114. 二叉树展开为链表
  9. docker镜像是否包含操作系统
  10. 并发重复请求及幂等场景的实现总结
  11. jdk api 1.8 中文版 下载
  12. laravel框架使用datatables
  13. As Manufacturers Buckle, Winners Emerge From Havoc
  14. [落选]狗熊会人才计划第6期选拔作业
  15. FMVP詹姆斯,王者归来!英雄实至名归!
  16. 全排列牛客和L46,L47
  17. 双机(51单片机)串行通信最基本的方法
  18. [hust]校内生存网站集合
  19. win7计算机总是卡住,win7系统电脑经常死机的几种原因及修复方法
  20. 关于股息、增发、回购的个人看法

热门文章

  1. [内存管理]linux X86_64处理器的内存布局图
  2. Kafka安全认证-KerberosSCRAM
  3. Linux和Mac下获取文件CRC/MD5/SHA1/SHA256
  4. 传说中的中国十大名剑及典故
  5. 接口自动化:文件上传及下载
  6. 【AT指令使用】安信可ESP-32-S3/ESP-32-C3系列模组AT固件应用之Web Captive portal功能
  7. (Tekla Structures二次开发)在图纸中创建旋转的3D视图
  8. [如何写一篇优秀的论文] 书写初稿
  9. MOOC 浙江大学 翁恺 程序设计入门C GPS数据处理
  10. TXT小说朗读正式版