LeetCode 232 Implement Queue using Stacks
来源:互联网 发布:五笔学打字什么软件 编辑:程序博客网 时间:2024/05/17 20:00
题目描述
Implement the following operations of a queue using stacks.
- push(x) – Push element x to the back of queue.
- pop() – Removes the element from in front of queue.
- peek() – Get the front element.
- empty() – Return whether the queue is empty.
Notes:
- You must use only standard operations of a stack – which means only push to top, peek/pop from top, size, and is empty operations are valid.
- Depending on your language, stack may not be supported natively. You may simulate a stack by using a list or deque (double-ended queue), as long as you use only standard operations of a stack.
- You may assume that all operations are valid (for example, no pop or peek operations will be called on an empty queue).
分析
参考:LeetCode 225 Implement Stack using Queues
非常经典的题目,定义两个栈模拟队列。
- push向stack1
- pop从stack2,如果stack2为空,先将stack1的元素放入stack2
代码
class MyQueue { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); // Push element x to the back of queue. public void push(int x) { stack1.push(x); } // Removes the element from in front of queue. public void pop() { if (stack2.isEmpty()) { if (stack1.isEmpty()) { throw new IllegalStateException(); } while (!stack1.isEmpty()) { stack2.push(stack1.pop()); } } stack2.pop(); } // Get the front element. public int peek() { if (stack2.isEmpty()) { if (stack1.isEmpty()) { throw new IllegalStateException(); } while (!stack1.isEmpty()) { stack2.push(stack1.pop()); } } return stack2.peek(); } // Return whether the queue is empty. public boolean empty() { if (stack1.isEmpty() && stack2.isEmpty()) { return true; } return false; } }
2 0
- leetcode 232:Implement Queue using Stacks
- LeetCode 232: Implement Queue using Stacks
- Implement Queue using Stacks(leetcode 232)
- [Leetcode 232, Easy] Implement Queue using Stacks
- LeetCode---(232)Implement Queue using Stacks
- Leetcode[232] Implement Queue using Stacks
- leetcode-232-Implement Queue using Stacks
- leetCode #232 Implement Queue using Stacks
- leetcode: (232) Implement Queue using Stacks
- leetcode 232: Implement Queue using Stacks
- leetcode 232 Implement Queue using Stacks
- Leetcode #232 Implement Queue using Stacks
- [LeetCode 232] Implement Queue using Stacks
- 【LeetCode 232: Implement Queue using Stacks】
- Leetcode NO.232 Implement Queue using Stacks
- LeetCode(232) Implement Queue using Stacks
- LeetCode 232 Implement Queue using Stacks
- LeetCode 232:Implement Queue using Stacks
- 深入理解SELinux SEAndroid(第一部分)
- select * into outfile权限错误问题的解决方法(Errcode:13)
- 数据可视化
- 7.shell分支与循环结构
- Python学习笔记20151211
- LeetCode 232 Implement Queue using Stacks
- iOS微信安装包瘦身
- 在Eclipse中搭建Struts框架过程详解
- 安装了wampserver后进入localhost/phpmyadmin/失败
- 8.shell中文本处理三剑客
- reentrant thread safety
- 健康说网页设计
- Java之I/O以及其它主题
- 浏览器缩小出现滚动条