上海企业网站制作多少钱,网站建设专家论证会,绿化效果图怎么制作,网站 开发 语言225. 用队列实现栈
\请你仅使用两个队列实现一个后入先出#xff08;LIFO#xff09;的栈#xff0c;并支持普通栈的全部四种操作#xff08;push、top、pop 和 empty#xff09;。
实现 MyStack 类#xff1a;
void push(int x) 将元素 x 压入栈顶。 int pop() 移除并…225. 用队列实现栈
\请你仅使用两个队列实现一个后入先出LIFO的栈并支持普通栈的全部四种操作push、top、pop 和 empty。
实现 MyStack 类
void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的返回 true 否则返回 false 。
class MyStack {queueint s1;queueint s2;
public:MyStack() {}void push(int x) {if(s1.empty() !s2.empty()){s1.push(x);int tmp;while(!s2.empty()){tmps2.front();s1.push(tmp);s2.pop();}}else if(s2.empty() !s1.empty()){s2.push(x);int tmp;while(!s1.empty()){tmps1.front();s2.push(tmp);s1.pop();}}else{s1.push(x);}}int pop() {if(s1.empty() !s2.empty()){int tmp s2.front();s2.pop();return tmp;}else{int tmps1.front();s1.pop();return tmp;}}int top() {if(s1.empty() !s2.empty()){return s2.front();}else{return s1.front();}}bool empty() {return s1.empty() s2.empty();}
};/*** Your MyStack object will be instantiated and called as such:* MyStack* obj new MyStack();* obj-push(x);* int param_2 obj-pop();* int param_3 obj-top();* bool param_4 obj-empty();*/