太阳hxy
太阳hxy
全部文章
分类
选择题(2)
题解(76)
归档
标签
去牛客网
登录
/
注册
太阳hxy的博客
全部文章
(共18篇)
NC115 栈和排序
class Solution { public: vector<int> solve(vector<int>&a) { //ans用来存最后的答案,f数组用来存后面要入栈的剩余元素中的最大值 //倒序处理最大值 ...
C++
栈
2023-08-28
1
315
NC318 字符串的相邻字符去重
链接 public: string removeDuplicates(string s) { //创建一个栈 stack<char> stack1; //遍历字符串 for(int i=0;i<s.size()...
C++
栈
字符串
2023-08-25
0
313
表达式求值
表达式求值 思路: 对于上述两个要求,我们要考虑的是两点,一是处理运算优先级的问题,二是处理括号的问题。 处理优先级问题,那必定是乘号有着优先运算的权利,加号减号先一边看,我们甚至可以把减号看成加一个数的相反数,则这里只有乘法和加法,那我们优先处理乘法,遇到乘法,把前一个数和后一个数乘起来,...
C++
栈
字符串
2023-07-19
0
350
有效括号序列
有效括号序列 思路: 由于需要进行括号匹配,由于对于最晚的进入的待匹配的括号是最早进行匹配的,所以符合后入先出的结构,所以用一个栈进行辅助 图解: 链接 代码: class Solution { public: //由于需要进行括号匹配,由于对于最晚的进入的待匹配的括号是最早进...
C++
栈
字符串
2023-07-18
0
327
包含min函数的栈
包含min函数的栈 思路:(双栈法) 1.由于对于pop()、top()、push()操作,直接用现有的stack中的这些操作就行,因为时间复杂度是O(1) 2.但是对于stack中现有的min函数,时间复杂度不是O(1) 3.所以可以通过另一个栈进行辅助记录栈1中的最小值,则栈2的栈顶元素就是...
C++
栈
2023-07-18
0
294
用两个栈实现队列
用两个栈实现队列 思路: 1.由于队列是先进先出的,然而栈是后进先出的 2.所以想要将入栈的元素模拟队列的结果,即先入的节点先出 3.则需要一个新的栈进行辅助,将栈1元素先压入栈2中,就实现了一次反转 4.此时栈2的栈顶的就是第一个元素,让这个元素出栈,就实现了先入先出 5.再将栈2中的元素再弹...
C++
栈
队列
模拟
2023-07-18
0
350
按之字形顺序打印二叉树
按之字形顺序打印二叉树 思路(双栈法): 我们可以利用两个栈遍历这棵二叉树,第一个栈s1从根节点开始记录第一层,然后依次遍历两个栈,遍历第一个栈时遇到的子节点依次加入第二个栈s2中,即是第二层:而遍历第二个栈s2的时候因为是先进后出,因此就是逆序的,再将第二个栈s2的子节点依次加入第一个栈s1中...
C++
栈
队列
2023-07-18
0
363
两个队列实现栈
两个队列实现栈 思路: 由于对于队列是先进先出的结构,但是栈是后入先出的结构,所以可以用两个队列实现栈。 1.入栈操作就是将元素入队列1 2.出栈操作就是需要将队列1中的除了最后一个元素外的其他元素都移动到队列2中 3.再将队列1中的最后一个元素出栈,将队列2中的元素放回队列1中 4.获得栈顶元...
C++
队列
栈
2023-07-18
1
504
首页
上一页
1
2
下一页
末页