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