- 博客(9)
- 收藏
- 关注
原创 链表中环的入口结点
给一个长度为n链表,若其中包含环,请找出该链表的环的入口结点,否则,返回null。数据范围: n≤10000n≤10000,1<=结点值<=100001<=结点值<=10000要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)例如,输入{1,2},{3,4,5}时,对应的环形链表如下图所示:可以看到环的入口结点的结点值为3,所以返回结点值为3的结点。
2025-09-12 18:34:15
234
原创 判断链表中是否有环
判断给定的链表中是否有环。如果有环则返回true,否则返回false。数据范围:链表长度 0≤n≤100000≤n≤10000,链表中任意节点的值满足 ∣val∣<=100000∣val∣<=100000要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)输入分为两部分,第一部分为链表,第二部分代表是否有环,然后将组成的head头结点传入到函数里面。-1代表无环,其它的数字代表有环,这些参数解释仅仅是为了方便读者自测调试。实际在编程时读入的是链表的头节点。
2025-09-12 18:04:07
349
原创 合并k个已排序的链表
该算法通过分治策略高效合并K个升序链表。核心思路是将链表数组不断二分,递归合并左右两部分,最后使用Merge方法合并两条有序链表。Merge方法采用虚拟头节点和双指针比较,实现O(1)空间的原位合并。分治过程类似归并排序,时间复杂度为O(NlogK)(N为总节点数),空间复杂度O(logK)(递归栈深度)。算法首先处理边界条件,然后通过divideMerge递归划分区间,最终合并所有链表为一个有序链表。
2025-09-12 17:38:20
1210
原创 链表中的节点每k个一组翻转
将给出的链表中的节点每 k 个一组翻转,返回翻转后的链表如果链表中的节点数不是 k 的倍数,将最后剩下的节点保持原样你不能更改节点中的值,只能更改节点本身。数据范围: 0≤n≤2000 0≤n≤2000 , 1≤k≤20001≤k≤2000 ,链表中每个元素都满足 0≤val≤10000≤val≤1000要求空间复杂度 O(1)O(1),时间复杂度 O(n)O(n)例如:给定的链表是 1→2→3→4→51→2→3→4→5。
2025-09-10 21:20:15
546
原创 Java中的数据类型有哪些?分为哪两大类? (考点:Java数据类型及其分类) 【简单】
整数:byte(8位),short(16位),int(32位),long(64位)对对象的引用,而不是对象本身。存储的是对象在内存中的地址。浮点数:float(32位),double(64位)基本数据类型在内存中直接存储值,有八种。分为 基本数据类型 和 引用数据类型。布尔:boolean(1位)字符:char(16位)
2025-09-08 10:25:12
193
原创 反转链表
给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)。经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。数据范围: 0≤n≤10000≤n≤1000。如当输入链表{1,2,3}时,
2025-09-04 21:56:09
430
原创 链表内指定区间反转
4.将pre(第m-1个节点)的next指向end(第n个节点),start(第m个节点)的next指向endNext(第n+1个节点)将一个节点数为 size 链表 m 位置到 n 位置之间的区间反转,要求时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)。给出的链表为 1→2→3→4→5→NULL1→2→3→4→5→NULL, m=2,n=4m=2,n=4,要求:时间复杂度 O(n)O(n) ,空间复杂度 O(n)O(n)进阶:时间复杂度 O(n)O(n),空间复杂度 O(1)O(1)
2025-09-03 21:43:41
329
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅