链表问题3——删除链表的中间节点(初阶)
题目
给定链表的头节点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——删除链表的中间节点(初阶)相关推荐
- 假设以带头结点的循环链表表示队列_[leetcode链表系列]2 删除链表中的节点
复习链表的插入 链表的一个节点是由数据域和指针域构成,指针域的地址值为下个元素的地址.那么我们需要插入或者删除一个元素怎么处理呢? 先查看原始链表结构,准备将结点x插入链表中. 此时我们需要先保存n节 ...
- 【链表】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 题目 题源链接 ...
- 链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表
删除链表中重复的结点 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {} ...
- 链表问题3——删除链表的a/b处的节点(进阶)
题目 给定链表的头节点head,整数a和b,实现删除位于a/b处节点的函数. 链表:1->2->3->4->5,假设a/b的值为r 如果r等于0,不删除任何节点 如果r在(0, ...
- 【算法】【链表模块】删除链表的中间节点或a/b节点
目录 前言 问题介绍 解决方案 代码编写 java语言版本 c语言版本 c++语言版本 思考感悟 写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批 ...
- 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, ...
- 链表题目--1 删除链表中所有等于val的值
注意事项 要删除的结点相邻 第一个结点就是要删除的结点 /*** Definition for singly-linked list.* struct ListNode {* int val;* st ...
- python删除链表中的某一个值_删除链表中等于给定值val的所有节点(python实现)...
原博文 2016-03-30 18:00 − Example: Given 1->2->3->4->5->3, val = 3, return the list as 1 ...
- 链表排序c++代码_[链表面试算法](一) 链表的删除-相关题型总结(6题)
在数据结构的最高层抽象里,只有两种结构,数组和链表.这两种结构,是所有其他数据结构实现的基础.队列和栈,可以用链表和数组来实现.图,可以用邻接表和邻接矩阵来实现,其中,邻接表就是链表,邻接矩阵就是数组 ...
最新文章
- usaco Riding the Fences(欧拉回路模板)
- C#获取数据库表信息,列信息
- [reference]-ARM Term术语汇总
- 阿里张磊:云计算生态价值点正迅速聚焦到“应用”上
- 西华大学计算机学院陈鹏,中国计算机学会CCF服务计算专委会走进西华大学
- Java EE CDI依赖注入(@Inject)教程
- hibernateTemplate update 修改指定字段
- 模仿还是致敬?华为全新环绕屏手机酷似小米MIX Alpha
- Git生成ssh密钥指定文件
- web自动化如何在不同浏览器运行_如何给树莓派搭建WEB开发运行环境之JAVA篇
- ArrayList和LinkedList
- go语言环境搭建及vim高亮设置
- c语言同构数循环,C语言求同构数.pdf
- 商务网站建设与维护【4】
- openwrt路由器安装Transmission软件包与web控制台(中文界面)
- Android Jetpack组件之Room数据库使用
- eBPF: 深入探究 Map 类型
- matlab限幅器无饱和怎么设置,抗积分饱和算法:输出限幅.ppt
- android pdf编辑,PDF Reader Pro 功能强大的 PDF 阅读编辑器
- Confluence使用教程-不古出品