Java
文章平均质量分 51
Java
reept
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
按照左右半区的方式重新组合单链表
题目要求将单链表按左右半区交叉重排。解决方法是:1)找到链表中间节点mid;2)将链表拆分为左半区(head到mid)和右半区(mid.next到末尾);3)将两个半区按L1→R1→L2→R2的顺序合并。关键步骤包括快慢指针定位mid、拆分链表、交叉合并。代码实现了这一逻辑,通过遍历和指针操作完成重排,适用于奇数或偶数长度的链表。时间复杂度为O(N),空间复杂度O(1)。原创 2025-09-18 11:07:11 · 360 阅读 · 0 评论 -
算法-删除链表的中间节点和a/b处的节点
问题分析:如果链表为空或者长度为1,不需要调整,则直接返回;如果链表的长度为2,将头节点删除即可;如果大于等于3,则中间节点可取 (int) Math.ceil(tag / 2)。方法:先计算double r = ((double) (a * n)) / ((double) b)的值,然后r向上取整。之后的整数值代表该删除的节点是第几个节点。removeByRatio 方法。原创 2025-06-04 09:32:35 · 265 阅读 · 0 评论
分享