剑指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();
}
}
}
相关文章推荐
- 每日六题-剑指offer(三)
- 剑指offer每日一刷-2017年11月12日
- 剑指Offer每日6题(JavaScript版)--第二天
- 剑指offer每日一刷-2017年11月19日
- 每日六题-剑指offer(四)
- 每日六题-剑指offer(五)
- 每日六题-剑指offer(二)
- 网络编程部分:Socket编程之每日箴言客户端
- 剑指offer
- 剑指offer——翻转单词顺序列
- 每日数十亿级业务下的计数器如何扩展Redis?
- 每日英语:There's No Avoiding Google+
- 剑指offer系列之二十六:输出字符串的全排列
- 剑指offer(21-40)
- 从尾到头打印链表——剑指Offer
- 每日英语:Adding Good Taste To A Tasty, Luxury Gift
- leetcode:191 Number of 1 Bits-每日编程第十三题
- 【Java每日一题】20170117
- 剑指Offer(12)变态跳台阶问题(Fibonacci)
- 每日一笑