您的位置:首页 > Web前端

剑指offer每日一刷-2017年11月14日

2017-11-14 16:50 197 查看
 

 题目描述

 用两个栈来实现一个队列,完成队列的Push和Pop操作。 

 队列中的元素为int类型。

思路:

入队:将元素压入栈1

出队:栈2为空时,将栈1中的所有元素弹出,一一压入栈2,之后弹出栈2的元素;栈2不为空时,直接弹出栈2的元素即可。

public class StackQueue {
Stack<Integer> stack1 = new Stack<Integer>();
Stack<Integer> stack2 = new Stack<Integer>();

public void push(int node){
stack1.push(node);
}

public int pop(){
if(stack2.isEmpty()){
while(!stack1.isEmpty()){
stack2.push(stack1.pop());
}
return stack2.pop();

}else{
return stack2.pop();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: