太阳hxy
太阳hxy
全部文章
题解
选择题(2)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
/ 题解
(共35篇)
判断一个链表是否是回文结构
判断一个链表是否是回文结构 方法一:(数组反转法) 思路: 1.创建一个数组,用于存链表中的每个节点的值 2.再创建一个数组,复制前一个数组的值,再进行反转 3.比较两个数组,判断是否是回文结构 代码: /** * struct ListNode { * int val; * s...
C++
链表
2023-07-12
2
360
单链表排序
单链表排序(归并排序) 图解: 链接 思路: 1.用归并排序(分治和合并) 2.先用三个指针:pre和快指针(fast)和慢指针(mid)找到链表的中间的节点,将链表分为两个小的子链表 3.再进行向下递归(划分区间)和向上递归(合并) 4.合并的时候就进行大小比较,利用归并排序的思想进行合并...
Java
链表
2023-07-12
1
364
链表相加(二)
链表相加(二) 图解: 链接 思路: 1.将原先的两个表进行反转,获得新的表头,使得低位对齐 2.将两个表对应节点相加 3.将最后的相加的结果的表再进行一次反转 代码 import java.util.*; /* * public class ListNode { * int...
Java
链表
2023-07-12
3
372
两个链表的第一个公共结点
**> # 两个链表的第一个公共结点 图解:** 链接 思路: 1.设置两个节点head1和和head2,将两个节点分别位于两个链表头结点处 2.同时出发,一起向相应的链表的后面进行遍历,当两个节点位于同一地址的时候,就是两个链表的第一个公共节点 3.但是如果发现head1已经遍...
Java
链表
2023-07-12
2
300
合并k个已排序的链表
合并k个已排序的链表 图解:(归并排序) 链接 思路: 如果是两个有序链表合并,我们可能会利用归并排序合并阶段的思想:准备双指针分别放在两个链表头,每次取出较小的一个元素加入新的大链表,将其指针后移,继续比较,这样我们出去的都是最小的元素,自然就完成了排序。 其实这道题我们也可以两两比较啊...
Java
链表
2023-07-12
3
474
链表中环的入口结点
链表中环的入口结点 方法一:哈希(HashSet) 思路:就是用hashset的查重功能,从头结点开始,将set中不存在的节点就放入到set中,否则就将第一个重复的点输出,就是链表的环的入口节点 代码: import java.util.*; /* public class List...
Java
链表
2023-07-12
2
368
删除链表的第n个结点
删除链表的第n个结点 **图解: 链接 思路: 1.由于对于删除操作:对于首节点的删除与其他结点删除是不一样的操作,所以为了同一操作 2.可以设置一个虚的头结点,将虚的头结点指向原链表的头结点 3.设置两个指针:快指针fast和慢指针slow,赋值为首地址 4.由于要进行删除操作,所以需要保...
Java
链表
2023-07-11
2
422
链表中倒数第k个节点
> 链表中倒数第k个节点 图解 链接 思路: 1.先设置两个指针,一个快指针fast和一个慢指针slow,都赋值为表头的地址 2.先让fast进行移动n位,注意这里需要进行特判一下,是否链表的长度小于n,如果是,那么就返回0 3.否则让fast和slow指针同步进行移动,直到fast...
Java
链表
2023-07-11
1
300
判断链表中是否有环
判断链表中是否有环 图解: 链接 思路: 1.进行特殊情况判断:如果链表为空,那么肯定是没有环的 2.设置两个快慢指针fast和slow,fast指针每次走两个节点,slow指针每次走一个节点 3.如果没有环,那么fast最后肯定会走到NULL 4.否则fast和slow指针最后肯定是会相遇的 ...
C++
链表
2023-07-11
1
284
合并两个排序的链表
合并两个排序的链表 图解: 思路: 1.创建一个虚的头结点 2,将两个链表的头结点的值进行比较大小 3.将小的节点连接到新形成的链表中 4.更新值小的头结点,将其向后移动一位 5.重复这个过程直到有表为空,那么就将没有比较过大小的片段进行拼接 方法一: import java.uti...
C++
Java
链表
2023-07-11
1
347
首页
上一页
1
2
3
4
下一页
末页