题目描述 :给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。

返回删除后的链表的头节点。


解题思路 :

根据以上链表进行分析;
1.首先判断头节点是否为null;
2.定义一个prev引用头节点head,头节点数据是否为key最后再判断
3.定义一个cur引用头节点下一个节点;
4.进行循环操作
如果cur.val==key的话
删除操作如下:
如果是需要删除的节点,操作如下 :
1.prev.next=cur.next,改变原来cur前那个节点的链接,直接链接到key后面的节点,实现删除
2.cur向前走一步,cur=cur.next;
不是需要删除的节点,操作如下 :
两个引用都向前走一步,继续找
prev=cur;
cur=cur.next;

5 最后进行头节点判断
如果头节点是需要删除的话
直接将头节点引用改为下一个节点
this.head=this.head.next;

最后返回新的头节点 head 即完成操作

代码如下 :

 // 删除所有为key的节点public ListNode removeAllKey(int key){if (this.head==null){ //判断头节点是否为nullreturn null;}ListNode prev=this.head;ListNode cur=this.head.next;while (cur!=null){if (cur.val==key){prev.next=cur.next;cur=cur.next;}else {prev=cur;cur=cur.next;}}//最后处理头节点if (this.head.val==key){this.head=this.head.next;}return this.head;}


【Java】 leetCode 删除链表中等于给定值 val 的所有节点。相关推荐

  1. python删除链表中的某一个值_删除链表中等于给定值val的所有节点(python实现)...

    原博文 2016-03-30 18:00 − Example: Given 1->2->3->4->5->3, val = 3, return the list as 1 ...

  2. java中删除node节点_[Java]LeetCode237. 删除链表中的节点 | Delete Node in a Linked List

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  3. leetcode 删除链表中的节点

    41 / 41 个通过测试用例 状态:通过 执行用时:0 ms 内存消耗:36.5 MB /*** Definition for singly-linked list.* public class L ...

  4. python删除链表中重复的节点_删除链表中所有值与Python相同的节点的程序

    假设我们有一个单链接列表和一个目标,则在删除所有值与目标相同的节点后,我们必须返回相同的链接. 因此,如果输入类似于[5,8,2,6,5,2,9,6,2,4],则输出将为[5.8.6.5.9.6.4, ...

  5. lintcode:删除链表中指定元素

    题目 删除链表中等于给定值val的所有节点. 样例 给出链表 1->2->3->3->4->5->3, 和 val = 3, 你需要返回删除3之后的链表:1-> ...

  6. python删除链表中重复的节点_Java编程删除链表中重复的节点问题解决思路及源码分享...

    一. 题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. 二. 例子 输入链表:1->2->3->3->4->4-&g ...

  7. LeetCode实战:删除链表中的节点

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 Write a fun ...

  8. 算法----删除链表中的节点(Java)

    题目: 请编写一个函数,用于 删除单链表中某个特定节点 .在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 . 题目数据保证需要删除的节点 不是末尾节点 . 示例 ...

  9. Java 删除链表中的元素

    使用 clear() 方法来删除链表中的元素 完整代码 import java.util.*;public class Main {public static void main(String[] a ...

最新文章

  1. 天空之城(君をのせて)主题曲
  2. 怎么使一个浮点数删除小数部分C语言,如何得出一个浮点数的小数部分,要把各个位保存到一个数组里边。...
  3. 一高校公示拟聘用人员信息,多为大龄“双非”土博,好像也没那么卷……
  4. 括号匹配问题(0962)
  5. Zeppelin-源码编译
  6. 思科设备路由器间IPsec ×××实现私网之间通信实战
  7. 1320A. Journey Planning
  8. leetcode461. 汉明距离
  9. nvarchar转换为numeric时出错_Oracle转换Postgres
  10. 电脑硬件检测_硬盘检测工具哪个好?在win10中这样检查磁盘健康状态就对了
  11. Axure中后台管理信息系统通用原型方案 /框架模板/数据仪表/团队协作/会员管理/电商系统/资金统计/数据监控/销量统计/订单管理/客户管理/团队协作/职务管理/业务信息/员工管理/即时通讯
  12. mysql 字符串 索引优化_轻松优化MySQL-之索引优化1
  13. 蘑菇车联打造一体化解决方案,致力产业协同发展
  14. ftp 425 Can't open data connection. 的解决方案
  15. Klevgrand R0Verb for mac(音频效果滤波器)
  16. 探析如何组织计算机课堂教学,探析如何组织计算机课堂教学
  17. matlab 平滑曲线连接_MATLAB数字图像处理-识别广告牌上的文字
  18. 尝试破解使用网络验证的小软件
  19. flume+kafka集群解决某著名联锁大型超市超过25年POS线下收单系统变实时系统的典型案例
  20. 7-55 查询水果价格 (15分)

热门文章

  1. gossip协议与memberlist实现
  2. Flask之请求钩子
  3. 美多商城后台管理之登录、浏览器的同源策略
  4. python浪漫表白代码
  5. 爬虫之requests模块发送带header的请求
  6. Java技术体系平台
  7. MyEclipse的Java Web项目配置环境搭建-如何安装tomact
  8. 造成机器学习项目失败的7个原因
  9. 使用webpack构建多页应用
  10. SpringBoot thymeleaf使用方法,thymeleaf模板迭代