链表问题3——删除链表的a/b处的节点(进阶)
题目
给定链表的头节点head,整数a和b,实现删除位于a/b处节点的函数。
链表:1->2->3->4->5,假设a/b的值为r |
如果r等于0,不删除任何节点 |
如果r在(0,1/5],删除节点1 |
如果r在(1/5,2/5],删除节点2 |
如果r在(2/5,3/5],删除节点3 |
如果r在(3/5,4/5],删除节点4 |
如果r在(4/5,1],删除节点5 |
如果r大于1,不删除任何节点 |
思路
设n为链表长度,对a/b*n进行向上取整后的数值,即为该删除的节点。
源码
public class Node{public int value;public Node next;public Node(int data){this.value=data;}
}public Node removeByRatio(Node head,int a,int b){if(a<1||a>b){return head;}int n=0;Node cur=head;while(cur!=null){n++;cur=cur.next;}n=(int) Math.ceil((double)(a*n)/(double)b);if(n==1){head=head.next;}if(n>1){cur=head;while(--n!=1){cur=cur.next;}cur.next=cur.next.next;}return head;
}
链表问题3——删除链表的a/b处的节点(进阶)相关推荐
- 链表问题3——删除链表的中间节点(初阶)
题目 给定链表的头节点head,实现删除链表的中间节点的函数. 不删除任何节点 1->2, 删除节点1 1->2->3,删除节点2 1->2->3->4,删除节点2 ...
- 假设以带头结点的循环链表表示队列_[leetcode链表系列]2 删除链表中的节点
复习链表的插入 链表的一个节点是由数据域和指针域构成,指针域的地址值为下个元素的地址.那么我们需要插入或者删除一个元素怎么处理呢? 先查看原始链表结构,准备将结点x插入链表中. 此时我们需要先保存n节 ...
- 链表题目---4 删除链表中重复的结点 和 判断链表是否为回文链表
删除链表中重复的结点 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {} ...
- 【链表】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 题目 题源链接 ...
- 【算法】【链表模块】删除链表的中间节点或a/b节点
目录 前言 问题介绍 解决方案 代码编写 java语言版本 c语言版本 c++语言版本 思考感悟 写在最后 前言 当前所有算法都使用测试用例运行过,但是不保证100%的测试用例,如果存在问题务必联系批 ...
- 链表题目--1 删除链表中所有等于val的值
注意事项 要删除的结点相邻 第一个结点就是要删除的结点 /*** Definition for singly-linked list.* struct ListNode {* int val;* st ...
- 链表排序c++代码_[链表面试算法](一) 链表的删除-相关题型总结(6题)
在数据结构的最高层抽象里,只有两种结构,数组和链表.这两种结构,是所有其他数据结构实现的基础.队列和栈,可以用链表和数组来实现.图,可以用邻接表和邻接矩阵来实现,其中,邻接表就是链表,邻接矩阵就是数组 ...
- c语言 增加 删除 修改的功能 不用链表,C语言的链表的创建、修改、添加与删除...
/*有点菜学完C之后自己写的*/ //欢迎评论缺点QQ3027887754 备注C #include#include#include typedef struct nnn { int num; str ...
- python删除链表中的某一个值_删除链表中等于给定值val的所有节点(python实现)...
原博文 2016-03-30 18:00 − Example: Given 1->2->3->4->5->3, val = 3, return the list as 1 ...
最新文章
- java接监控摄像头接口_离奇!深夜隧道内,12个摄像头突然一个接一个“瞎”了,监控员吓懵了...
- Scala概述及学习Scala的优势
- ASP.NET Core 设置允许跨域访问
- 数据科学 IPython 笔记本 8.3 Matplotlib 可视化
- 值类型和引用类型的区别?
- MKAnnotationView,MKAnnotation与MKMapView结合使用显示坐标点
- Xp3下VMWare中Ubuntu12.04 联网
- Vue前端开发环境搭建
- 数据包络分析法(DEA)_1
- 阻止第三方 cookie_如何在每个Web浏览器中阻止第三方Cookie
- c# rar解压大小_C#解压、压缩RAR文件
- 超实用!教你用 Python 获取并下载美股数据
- 谁发明了区块链?谁是中本聪?
- 完美解决微信页面返回不刷新问题
- 静态网网页设计成品下载
- EAS BOS:BOS工具导入解决方案失败常见问题分析
- C语言如何制作dIL文件,C语言怎么加循环
- 贴片电解电容正负极区分
- 修改 nginx 的默认端口
- 阿里巴巴图标库的使用