牛客网--用两个栈实现队列
来源:互联网 发布:网络名字大全女孩霸气 编辑:程序博客网 时间:2024/05/18 03:46
思路:
队列的性质是先进先出,而栈的性质是先进后出。要用两个栈实现一个队列,首先用一个栈用来模拟进队。然后将模拟进队的栈中的元素依次出栈,存入另一个模拟出队的栈中。因为栈的先进后出的性质,元素的顺序全都倒过来了。这时在执行出栈的操作,就把最先进入模拟入队的栈的元素弹了出来。达到类似队列的操作。
class Solution{public: void push(int node) { stack1.push(node); //进栈 } int pop() { if (stack2.empty()){ while (!stack1.empty()){ stack2.push(stack1.top()); //依次弹出栈顶元素,压入另一个栈中 stack1.pop(); } } auto top = stack2.top(); //读取栈顶元素 stack2.pop(); return top; }private: stack<int> stack1; stack<int> stack2;};
阅读全文
0 0
- 牛客网 | 用两个栈实现队列
- 牛客网--用两个栈实现队列
- 用两个栈实现队列 & 用两个队列实现栈
- 用两个队列实现栈&用两个栈实现队列
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现队列 & 两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个队列实现栈
- 用两个栈实现队列
- 用两个栈实现队列
- Java工具之javac---javadoc--javah--jar
- 简单搭建一个Mybatis
- JavaScript(下)-课堂笔记
- 新浪网页爬虫
- 试说明PCB(进程控制块) 的作用,为什么说PCB 是进程存在的惟一标志?
- 牛客网--用两个栈实现队列
- 《零基础入门深度学习》系列文章(教程+代码)
- MATLAB绘制直方图
- 利用java的swing控件实现四则混合运算计算器
- Python3 标准库及相关内容
- 跟潮人學小西裝搭配技巧(台灣愛迪達)
- 第六章 图像滤波 中值滤波器
- jQuery(上)-课堂笔记
- servlet/filter/listener/interceptor区别与联系