太阳hxy
太阳hxy
全部文章
分类
选择题(2)
题解(76)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
(共78篇)
表达式求值
表达式求值 思路: 对于上述两个要求,我们要考虑的是两点,一是处理运算优先级的问题,二是处理括号的问题。 处理优先级问题,那必定是乘号有着优先运算的权利,加号减号先一边看,我们甚至可以把减号看成加一个数的相反数,则这里只有乘法和加法,那我们优先处理乘法,遇到乘法,把前一个数和后一个数乘起来,...
C++
栈
字符串
2023-07-19
0
373
有效括号序列
有效括号序列 思路: 由于需要进行括号匹配,由于对于最晚的进入的待匹配的括号是最早进行匹配的,所以符合后入先出的结构,所以用一个栈进行辅助 图解: 链接 代码: class Solution { public: //由于需要进行括号匹配,由于对于最晚的进入的待匹配的括号是最早进...
C++
栈
字符串
2023-07-18
0
349
包含min函数的栈
包含min函数的栈 思路:(双栈法) 1.由于对于pop()、top()、push()操作,直接用现有的stack中的这些操作就行,因为时间复杂度是O(1) 2.但是对于stack中现有的min函数,时间复杂度不是O(1) 3.所以可以通过另一个栈进行辅助记录栈1中的最小值,则栈2的栈顶元素就是...
C++
栈
2023-07-18
0
313
用两个栈实现队列
用两个栈实现队列 思路: 1.由于队列是先进先出的,然而栈是后进先出的 2.所以想要将入栈的元素模拟队列的结果,即先入的节点先出 3.则需要一个新的栈进行辅助,将栈1元素先压入栈2中,就实现了一次反转 4.此时栈2的栈顶的就是第一个元素,让这个元素出栈,就实现了先入先出 5.再将栈2中的元素再弹...
C++
栈
队列
模拟
2023-07-18
0
373
和大于等于K的最短子数组
和大于等于K的最短子数组 思路:(双指针) 1.先将右指针不断向右移动,直到区间的和大于等于k 2.当区间的长度大于等于k,就可以将左指针向右移动,不断取得最短的子数组的长度 代码: import java.util.*; public class Solution { //...
Java
双指针
滑动窗口
2023-07-18
1
453
序列化二叉树
序列化二叉树 知识点:二叉树递归 **递归是一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。因此递归过程,最重要的就是查看能不能讲原本的问题分解为更小的子问题,这是使用递归的关键。**而二叉树的递归,则...
二叉树
递归
字符串
2023-07-18
0
323
按之字形顺序打印二叉树
按之字形顺序打印二叉树 思路(双栈法): 我们可以利用两个栈遍历这棵二叉树,第一个栈s1从根节点开始记录第一层,然后依次遍历两个栈,遍历第一个栈时遇到的子节点依次加入第二个栈s2中,即是第二层:而遍历第二个栈s2的时候因为是先进后出,因此就是逆序的,再将第二个栈s2的子节点依次加入第一个栈s1中...
C++
栈
队列
2023-07-18
0
394
按之字型顺序打印二叉树
按之字型顺序打印二叉树 图解: 链接 思路: 由于对于二叉树的分层打印,一般用队列进行维护 但是由于现在是按照之字形的顺序进行打印的,所以有些层需要在原先的顺序上进行反转 1.先判断树是否为空,如果为空,就直接返回 2.否则就创建一个队列进行维护 3.将每一层的节点都插入队列中,再将每一...
C++
二叉树
队列
模拟
2023-07-18
0
381
两个队列实现栈
两个队列实现栈 思路: 由于对于队列是先进先出的结构,但是栈是后入先出的结构,所以可以用两个队列实现栈。 1.入栈操作就是将元素入队列1 2.出栈操作就是需要将队列1中的除了最后一个元素外的其他元素都移动到队列2中 3.再将队列1中的最后一个元素出栈,将队列2中的元素放回队列1中 4.获得栈顶元...
C++
队列
栈
2023-07-18
1
597
从上往下打印二叉树
从上往下打印二叉树(用队列维护分层从左到右打印) 思路: 二叉树的层次遍历就是按照从上到下每行,然后每行中从左到右依次遍历,得到的二叉树的元素值。对于层次遍历,我们通常会使用队列来辅助: 因为队列是一种先进先出的数据结构,我们依照它的性质,如果从左到右访问完一行节点,并在访问的时候依次把它们的子...
C++
队列
二叉搜索树
2023-07-17
0
339
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页