太阳hxy
太阳hxy
全部文章
题解
选择题(2)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
/ 题解
(共9篇)
用两个栈实现队列
用两个栈实现队列 思路: 1.由于队列是先进先出的,然而栈是后进先出的 2.所以想要将入栈的元素模拟队列的结果,即先入的节点先出 3.则需要一个新的栈进行辅助,将栈1元素先压入栈2中,就实现了一次反转 4.此时栈2的栈顶的就是第一个元素,让这个元素出栈,就实现了先入先出 5.再将栈2中的元素再弹...
C++
栈
队列
模拟
2023-07-18
0
366
按之字型顺序打印二叉树
按之字型顺序打印二叉树 图解: 链接 思路: 由于对于二叉树的分层打印,一般用队列进行维护 但是由于现在是按照之字形的顺序进行打印的,所以有些层需要在原先的顺序上进行反转 1.先判断树是否为空,如果为空,就直接返回 2.否则就创建一个队列进行维护 3.将每一层的节点都插入队列中,再将每一...
C++
二叉树
队列
模拟
2023-07-18
0
363
滑动窗口的最大值
滑动窗口的最大值 思路: 用单调队列维护窗口中的元素的单调性 1.将序列中的每个元素都插入单调队列中,将小于需要插入的这个节点的数从队尾弹出 2.再将这个节点插入单调队列中 3.将超出窗口范围的队首节点从队首弹出队列 4.输出每个窗口中的第一个值就是这个窗口的最大值 单调队列的性质: 1.队...
C++
滑动窗口
模拟
单调队列
2023-07-17
2
391
设计LRU缓存
设计LRU缓存 思路: 链接转载于https://blog.nowcoder.net/n/b279555a5cfd48f28fec790d96b0a1b9 代码: //双向链表的一个节点:包含该节点的值,对应map的索引,每个节点都有一个前驱指针和一个后驱指针 struct Node{ ...
C++
链表
模拟
哈希表
2023-07-16
0
388
排序奇升偶降链表
排序奇升偶降链表 思路: 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.只要两个链表中还有节点并且进位不为0,就需要进行相加操作 代码: import java.util.*; /* * public class ListNode { * int val; * ListNode next ...
Java
链表
模拟
2023-07-14
3
435
无环单链表插值
无环单链表插值 思路: 1.创建一个新链表的虚的头结点** 2.遍历数组,将每个数组中的值创建一个对应的节点 3.注意分为两种特殊的情况情况讨论:情况一:val的值是插在两个节点中间,val是插在链表的末尾 代码: import java.util.*; /* * public cla...
Java
链表
模拟
2023-07-14
1
373
划分链表
划分链表 方法一:创建两个表之后进行连接 思路: 1.创建两个表的虚的头节点 2.遍历原先的表,将大于等于x的节点找出来连在存大的节点的表中,将小于x的节点找出来连在用于存小于x的节点的表中 3.再将两个表进行连接 代码: import java.util.*; /* * public...
Java
双指针
链表
模拟
2023-07-13
1
386