LintCode之40 用栈实现队列
来源:互联网 发布:html页面写java代码 编辑:程序博客网 时间:2024/06/05 19:18
题目来源:用栈实现队列
题目描述:
正如标题所述,你需要使用两个栈来实现队列的一些操作。
队列应支持push(element),pop() 和 top(),其中pop是弹出队列中的第一个(最前面的)元素。
pop和top方法都应该返回第一个元素的值。
样例:
比如push(1), pop(), push(2), push(3), top(), pop(),你应该返回1,2和2
Java代码:
public class MyQueue { private Stack<Integer> stack1; private Stack<Integer> stack2; boolean isStack1 = true; public MyQueue() { // do initialization if necessary stack1 = new Stack<Integer>(); stack2 = new Stack<Integer>(); } public void push(int element) { // write your code here stack1.push(element); } public int pop() { // write your code here while (!stack1.empty()) { stack2.push(stack1.pop()); } int result = stack2.pop(); while (!stack2.empty()) { stack1.push(stack2.pop()); } return result; } public int top() { // write your code here while (!stack1.empty()) { stack2.push(stack1.pop()); } int result = stack2.peek(); while (!stack2.empty()) { stack1.push(stack2.pop()); } return result; }}
阅读全文
0 0
- LintCode之40 用栈实现队列
- lintcode-用栈实现队列-40
- LintCode 40 用栈实现队列
- Lintcode 用栈实现队列
- LintCode:用栈实现队列
- 【LintCode】用栈实现队列
- LintCode : 用栈实现队列
- lintcode,用栈实现队列
- Lintcode 用栈实现队列
- Lintcode 用栈实现队列
- LintCode-剑指Offer-(40)用栈实现队列
- [Lintcode]用栈实现队列
- [LintCode]40.用栈实现队列
- 栈与队列之用java实现队列
- 牛客网刷题之用两个栈实现队列
- 用栈实现队列
- 用队列实现栈
- 用栈实现队列
- python装饰器原理
- 1034. 有理数四则运算(20)
- Algorithm之路三:Longest Substring Without Repeating Characters
- cropper裁剪图片(二)
- PHP数组
- LintCode之40 用栈实现队列
- hdu_4772 关于矩阵旋转问题的全面考察
- 开源库nghttp2编译安装
- 算法练习(27):Course Schedule
- 车载GPS等基于部标通信协议的开发方案
- HDOJ 1036 Average is not Fast Enough!
- 解决困扰自己已久的InnoDB存储引擎行级锁问题
- Hadoop_1 Hadoop概述和MapReduce简介
- FBRetainCycleDetector源码分析