用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
来源:互联网 发布:teambition类似软件 编辑:程序博客网 时间:2024/06/07 09:47
思路:由于队列是先进先出的,而栈是先进后出的,所以要用2个栈来实现队列的入队出队功能,队列的入队功能与栈的一样,出队时,先将第一个栈中的元素全部弹出,并倒入到第二个栈中,将第二个栈中栈顶元素弹出,并将stack2中剩下的元素倒回到stack1中,即实现一次出队
class Solution{public: void push(int node) { stack1.push(node); } int pop() { while(!stack1.empty()) { stack2.push(stack1.top()); stack1.pop(); } int a=stack2.top(); stack2.pop(); while(!stack2.empty()) { stack1.push(stack2.top()); stack2.pop(); } return a; }private: stack<int> stack1; stack<int> stack2;};
python 方法:
def __init__(self): self.stack1=[] self.stack2=[] def push(self, node): self.stack1.append(node) def pop(self): if self.stack2==[]: while self.stack1: self.stack2.append(self.stack1.pop()) return self.stack2.pop() while self.stack2: self.stack1.append(self.stack2.pop())
阅读全文
0 0
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 用两个栈来实现一个队列完成队列的Push和Pop操作 队列中的元素为int类型。
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈实现队列 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类
- java 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- eclipse中创建maven项目
- 基于JFreeChart的股票交易K线图停牌日期缺口优化完整解决方案
- android自定义View ---- RandomCodeView验证码
- Android 中常用的轮子
- Kinect2手势识别/手势跟踪-HandTracker/OpenNI/Linux or Windows
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 仅5%的大型企业已做好应对新兴数字化业务IT需求的准备
- 云和恩墨 Oracle Database 12.2 体系结构图海报发布
- win32控制台程序里面,使用CString
- CUDA Unified Memory
- spring aop xml配置
- 计算数组中数据的正太分布 ,找出占比最大的数据
- 伴随矩阵介绍及C++实现
- python:生成器