太阳hxy
太阳hxy
全部文章
题解
选择题(2)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
/ 题解
(共35篇)
链表(模板)
链表(模板) 思路: 对于链表的插入和删除节点操作,由于头结点的插入和删除和其他节点的插入和删除操作不同,所以为了方便操作,可以增加一个虚的头节点,对于插入和删除操作设置两个指针pre和cur,pre指向需要删除或是插入的位置,pre指向需要删除或插入的位置的前一个节点 1.插入操作:创建一个新...
C++
链表
2023-07-22
1
392
设计LRU缓存
设计LRU缓存 思路: 链接转载于https://blog.nowcoder.net/n/b279555a5cfd48f28fec790d96b0a1b9 代码: //双向链表的一个节点:包含该节点的值,对应map的索引,每个节点都有一个前驱指针和一个后驱指针 struct Node{ ...
C++
链表
模拟
哈希表
2023-07-16
0
389
旋转链表
旋转链表 思路: 1.先用一个hashmap将对应的下标和节点的值存起来 2.再遍历一遍链表,对原链表中的节点的值进行修改,根据下标查找对应的节点,将后面的k个节点进行平移到前面, 将前面的平移到后面(实际上是进行了修改) 3.注意取余操作 代码: import java.util.*; ...
Java
哈希表
链表
2023-07-15
3
500
排序奇升偶降链表
排序奇升偶降链表 思路: 1.先根据奇数位和偶数位的节点拆分为两个表 2.再将第二个表进行反转 3.最后将第一个表和第二表进行合并 代码: import java.util.*; /* * public class ListNode { * int val; * ListN...
Java
链表
模拟
2023-07-15
1
448
给单链表加一
给单链表加一: 思路: 1.先建立一个虚的头结点,将头结点连接到原链表的头结点 2.注意头结点的值要初始化为0!!! 3.由于需要判断当前的节点的值是否需要加1,就需要知道后面的节点的值是否会产生进位 4.所以用递归的思想,先得到后面的节点的值 5.分为两种情况:如果后面没有节点,就表明该链表只...
Java
链表
递归
模拟
2023-07-15
1
444
两两交换链表的节点
两两交换链表的节点 用递归的思想: 1.递归的结束条件:剩余未反转的节点的数量少于两个的时候,就不需要进行反转,直接返回 2.否则就将两个节点进行反转 3.再用递归将后面的节点也进行翻转,返回反转后的头节点 4.将前一个反转后的区间与后面翻转后的区间进行连接 代码:: import java....
Java
递归
链表
2023-07-15
1
340
环形链表的约瑟夫问题
环形链表的约瑟夫问题 思路: 1.先创建编号为1的人的节点作为循环链表的头结点 2.将剩下的所有的人创建对应的节点连接形成形成链表 3.将链表的首尾相连,因为对于约瑟夫问题,需要的是循环链表 4.进行游戏,每次让第m个人出圈 代码: import java.util.*; public...
Java
链表
2023-07-15
1
414
对链表进行插入排序
对链表进行插入排序 思路: 1.只要还没有走到链表的倒数第二个节点,就表明插入排序还没有完成,就继续进行插入排序 2.对于每次插入排序,都需要遍历整个链表,只要是保持升序的就跳过,直到找到第一个打破升序的节点 3.先判断一下如果发现p.next为null,就表明原先已有的链表就是有序的,就可以直...
Java
C++14
链表
2023-07-15
1
332
二叉树展开为单链表
二叉树展开为单链表 思路: 1.先进行计数一下二叉树的节点的个数(递归) 2.开一个用于存树的节点的容器数组 3.将二叉树的节点存入数组容器中 4.再将二叉树的展开为单链表 代码: import java.util.*; import java.util.ArrayList; /* * ...
Java
二叉树
链表
递归
2023-07-15
1
388
链表相加(一)
链表相加(一) 思路: 1.建立一个新的虚的头结点 2.只要两个链表中还有节点并且进位不为0,就需要进行相加操作 代码: import java.util.*; /* * public class ListNode { * int val; * ListNode next ...
Java
链表
模拟
2023-07-14
3
435
首页
上一页
1
2
3
4
下一页
末页