分析 使用两个栈,一个主(s1),一个辅(s2) 我们并不需要真正实现类似队列的结构,只需要实现队列的功能即可: push:直接push到s1即可,这时和队列的性质相反(FIFO vs. LIFO) pop:目标是拿到队头,即栈底,只需要把除栈底外的元素移动到辅助栈s2,然后弹出栈底,最后把s2元素 ...
分类:
其他好文 时间:
2020-04-27 19:11:49
阅读次数:
59
第四题:两个栈实现队列 用两个栈实现队列,支持队列的基本操作。输入描述:第一行输入一个整数N,表示对队列进行的操作总数。下面N行每行输入一个字符串S,表示操作的种类。如果s为"add",则后面还有一个整数x表示向队列尾部加入整数X。如果s为"poll",则表示弹出队列头部操作。如果s为"peek", ...
分类:
其他好文 时间:
2020-04-27 09:24:13
阅读次数:
84
用两个栈来模拟光标的移动,sum来维护A栈的前缀和,f用来维护最大值。 1 #include <iostream> 2 #include <algorithm> 3 #include <stack> 4 using namespace std; 5 stack<int> A, B; 6 conste ...
分类:
其他好文 时间:
2020-04-26 15:31:11
阅读次数:
61
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析 栈先进后出: 队列先进先出: > A_in > in < A_out > out < B_in > B_out 解题: # -*- coding:utf-8 -*- class Solution: ...
分类:
其他好文 时间:
2020-04-25 10:35:51
阅读次数:
59
栈和队列 1.栈 栈:栈是一种仅支持在表位插入删除的线性表。栈底称为表头,栈顶称为表尾。 栈的存储结构: 顺序存储: 顺序栈:用一组地址连续的内存单元依次存放从栈底到栈顶元素的结构。 栈的入栈操作是:栈顶指针+1,元素入栈。 栈的出栈操作是:元素出栈,栈顶指针-1。 共享栈:两个栈共享栈顶空间,两个 ...
分类:
其他好文 时间:
2020-04-17 23:38:47
阅读次数:
66
题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 import java.util.Stack; public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<In ...
分类:
其他好文 时间:
2020-04-14 22:25:16
阅读次数:
72
用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 class Solution { public: void push(int node) { stack1.push(node); } int pop() { int node; if(stack2.empty() ...
分类:
其他好文 时间:
2020-04-13 19:30:39
阅读次数:
72
[TOC] 6.用两个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 考虑栈1用于存储元素,出队时,将栈1的元素压入栈2,此时栈2中元素从栈顶到底即其入队的顺序,然后出栈。若出队时栈2非空,则直接从栈2弹出元素。 1、根据栈2是否空将栈1元素全部压入 ...
分类:
其他好文 时间:
2020-04-11 12:45:46
阅读次数:
56
题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 思路 使用两个栈s1,s2:s1用来存储奇数层的节点,s2用来存储偶数层的节点(层数从1开始); 先将根结点压入s1; 当前层是奇数层时,弹出s ...
分类:
其他好文 时间:
2020-04-04 17:24:39
阅读次数:
75
题目: 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例: 解题思路: 首先构建两个栈, 存高度, 存下标。 遍历数组,将 与`h.top()`做比较 1. 若 ,则表明可能可以求得面积。 实际上,对于 的方块而言,可能接住的雨水等于 min( ...
分类:
其他好文 时间:
2020-04-04 14:18:03
阅读次数:
69