题目

给定链表的头节点head,实现删除链表的中间节点的函数。

不删除任何节点
1—>2, 删除节点1
1—>2—>3,删除节点2
1—>2—>3—>4,删除节点2
1—>2—>3—>4—>5,删除节点3

思路

找到要删除节点的前一个节点即可。


源码

public class Node{public int value;public Node next;public Node(int data){this.value=data;}
}public Node removeMidNode(Node head){if(head==null||head.next==null){return head;}if(head.next.next==null){return head.next;}Node pre=head;Node cur=head.next.next;while(cur.next!=null&&cur.next.next!=null){//pre 走一步,cur走两步,这样cur刚好走完,pre走到删除的中间节点//因为cur本身的起点就是head走了两步,所以cur刚好走完时,//pre走到删除节点的前一个节点pre=pre.next;cur=cur.next.next;}pre.next=pre.next.next;return head;
}

链表问题3——删除链表的中间节点(初阶)相关推荐

  1. 假设以带头结点的循环链表表示队列_[leetcode链表系列]2 删除链表中的节点

    复习链表的插入 链表的一个节点是由数据域和指针域构成,指针域的地址值为下个元素的地址.那么我们需要插入或者删除一个元素怎么处理呢? 先查看原始链表结构,准备将结点x插入链表中. 此时我们需要先保存n节 ...

  2. 【链表】leetcode19.删除链表的倒数第N个节点(C/C++/Java/Js)

    leetcode19.删除链表的倒数第N个节点 1 题目 2 思路 3 代码 3.1 C++版本 3.2 C版本 3.3 Java版本 3.4 JavaScript版本 4 总结 1 题目 题源链接 ...

  3. 链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表

    删除链表中重复的结点 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {} ...

  4. 链表问题3——删除链表的a/b处的节点(进阶)

    题目 给定链表的头节点head,整数a和b,实现删除位于a/b处节点的函数. 链表:1->2->3->4->5,假设a/b的值为r 如果r等于0,不删除任何节点 如果r在(0, ...

  5. 【算法】【链表模块】删除链表的中间节点或a/b节点

    目录 前言 问题介绍 解决方案 代码编写 java语言版本 c语言版本 c++语言版本 思考感悟 写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批 ...

  6. Remove Nth Node From End of List(从链表表尾删除第n个节点)

    题目: Given a linked list, remove the nth node from the end of list and return its head. For example, ...

  7. 链表题目--1 删除链表中所有等于val的值

    注意事项 要删除的结点相邻 第一个结点就是要删除的结点 /*** Definition for singly-linked list.* struct ListNode {* int val;* st ...

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

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

  9. 链表排序c++代码_[链表面试算法](一) 链表的删除-相关题型总结(6题)

    在数据结构的最高层抽象里,只有两种结构,数组和链表.这两种结构,是所有其他数据结构实现的基础.队列和栈,可以用链表和数组来实现.图,可以用邻接表和邻接矩阵来实现,其中,邻接表就是链表,邻接矩阵就是数组 ...

最新文章

  1. usaco Riding the Fences(欧拉回路模板)
  2. C#获取数据库表信息,列信息
  3. [reference]-ARM Term术语汇总
  4. 阿里张磊:云计算生态价值点正迅速聚焦到“应用”上
  5. 西华大学计算机学院陈鹏,中国计算机学会CCF服务计算专委会走进西华大学
  6. Java EE CDI依赖注入(@Inject)教程
  7. hibernateTemplate update 修改指定字段
  8. 模仿还是致敬?华为全新环绕屏手机酷似小米MIX Alpha
  9. Git生成ssh密钥指定文件
  10. web自动化如何在不同浏览器运行_如何给树莓派搭建WEB开发运行环境之JAVA篇
  11. ArrayList和LinkedList
  12. go语言环境搭建及vim高亮设置
  13. c语言同构数循环,C语言求同构数.pdf
  14. 商务网站建设与维护【4】
  15. openwrt路由器安装Transmission软件包与web控制台(中文界面)
  16. Android Jetpack组件之Room数据库使用
  17. eBPF: 深入探究 Map 类型
  18. matlab限幅器无饱和怎么设置,抗积分饱和算法:输出限幅.ppt
  19. android pdf编辑,PDF Reader Pro 功能强大的 PDF 阅读编辑器
  20. Confluence使用教程-不古出品

热门文章

  1. “基因编辑婴儿”惹争议,你或许不知道机器学习在脱靶效应中的作用?
  2. 学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别
  3. 从 Kafka 看时间轮算法设计
  4. 耗时3天,上亿数据如何做到秒级查询?
  5. Spring Boot第四篇:SpringBoot 整合JPA
  6. 用机器学习神器sklearn做特征工程!
  7. 如何阅读一份深度学习项目代码?
  8. 组合特征(三)tfidf(word+article+length)
  9. Pycharm那些隐藏的实用小技巧,太强了
  10. 我室友拿到了字节50万年薪,太牛逼了