太阳hxy
太阳hxy
全部文章
题解
选择题(2)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
/ 题解
(共35篇)
链表的中间节点
链表的中间节点 思路: 1.设置两个指针,一个快指针fast和慢指针slow,快指针以两个节点两个节点进行移动,慢指针以一个节点进行移动 2.只要当fast指针和fast.next指针还没有指向null 3.最后slow指向的就是链表的中点 代码: import java.util.*...
Java
链表
双指针
2023-07-14
1
393
连续子链表的最大和
连续子链表的最大和 思路: 1.由于需要求最长的连续子串之和,所以先可以初始化为最小值 2.用动态规划的解决连续的最长的子串和的思想 3.用一个个max1记录两种选择中较大值:一种情况是将当前的数加到原先串的后面,另一种情况是将该数直接作为一个新的串的起始点 4.再与之前记录下来的最大的连续子串...
C++
链表
动态规划
2023-07-14
2
484
无环单链表插值
无环单链表插值 思路: 1.创建一个新链表的虚的头结点** 2.遍历数组,将每个数组中的值创建一个对应的节点 3.注意分为两种特殊的情况情况讨论:情况一:val的值是插在两个节点中间,val是插在链表的末尾 代码: import java.util.*; /* * public cla...
Java
链表
模拟
2023-07-14
1
374
划分链表
划分链表 方法一:创建两个表之后进行连接 思路: 1.创建两个表的虚的头节点 2.遍历原先的表,将大于等于x的节点找出来连在存大的节点的表中,将小于x的节点找出来连在用于存小于x的节点的表中 3.再将两个表进行连接 代码: import java.util.*; /* * public...
Java
双指针
链表
模拟
2023-07-13
1
387
重排链表
重排链表 方法一:暴力连接 思路: 1.观察排序后的序列我们可以发现,第一个节点后接最后一个节点,第二个节点后接倒数第二个节点,以此类推。故我们可以每次都找到最后一个节点并把它接在当前节点的后面 2.我们用一个指针p指向头节点,每次找到链表的最后一个节点并将它接在p所指节点的后面,然后p再指向下...
C++
Java
链表
双指针
2023-07-13
1
403
删除链表的节点
删除链表的节点 思路: 1.由于要进行删除操作,由于头结点是特殊的,所以为了同一操作,可以设置一个虚的头节点,连接到原链表的头结点 2.设置两个指针:一个指针pre(指向需要删除的节点的前一个节点),和一个指针cur(指向需要删除的节点) 代码: import java.util.*; ...
Java
链表
双指针
2023-07-13
1
337
从尾到头打印链表
从尾到头打印链表 方法一:递归 思路: 我们都知道链表无法逆序访问,那肯定无法直接遍历链表得到从尾到头的逆序结果。但是我们都知道递归是到达底层后才会往上回溯,因此我们可以考虑递归遍历链表,因此三段式如下: 终止条件: 递归进入链表尾,即节点为空节点时结束递归。 返回值: 每次返回子问题之...
C++
链表
2023-07-13
1
379
复杂链表的复制
复杂链表的复制 方法一:哈希表(unordered_map): 图解: 思路: 1.假如链表没有随机指针, 我们的拷贝方式很简单, 只要先创建一个哨兵节点, 然后遍历一下给定链表, 创建新节点, 并不断和上个节点连接 2.本题的难点就在于每个节点还有一个指向空或其它节点的指针, 一种比...
C++
链表
2023-07-13
2
362
删除有序链表中重复的元素-I
** 删除有序链表中重复的元素-I** 图解: 链接 思路: 1.判断一下链表是否为空,如果是空,就不需要去重,直接返回null 2.当当前的节点和下一个节点不为null的时候 3.判断一下如果当前的节点等于下一个节点,就让当前节点指向下下个节点 4.否则就直接指向下一个节点 代码: ...
Java
链表
2023-07-12
1
375
链表奇偶重排
链表奇偶重排 图解: 链接 思路: 1.判断一下链表是否为空,如果链表为空,就不需要进行奇偶重排 2.否则就odd(奇数位)=head,even(偶数位)=head.next,evenHead(偶数链表的头结点)=head.next; 3.只要even和even还没有指向null,那么就继续...
C++
链表
2023-07-12
1
400
首页
上一页
1
2
3
4
下一页
末页