Leetcode232. Implement Queue using Stacks[栈实现队列]
2016-04-04 18:20
423 查看
一、题目描述
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
and
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)
二、考察点
栈和队列
三、CODE描述
栈和队列
四、结果
越努力,越幸运。
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 emptyoperations 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)
二、考察点
栈和队列
三、CODE描述
栈和队列
import java.util.Stack; class MyQueue { // Push element x to the back of queue. Stack<Integer> stack1 =new Stack<Integer>(); // push Stack<Integer> stack2 =new Stack<Integer>(); // pop public void push(int x) { stack1.push(x); } // Removes the element from in front of queue. public void pop() { if(stack2.empty()){ while(!stack1.empty()){ int top = stack1.peek(); stack1.pop(); stack2.push(top); } } if(!stack2.empty()){ stack2.pop(); } } // Get the front element. public int peek() { if(stack2.empty()){ while(!stack1.empty()){ int top = stack1.peek(); stack1.pop(); stack2.push(top); } } if(stack2.empty()) return -1; else return stack2.peek(); } // Return whether the queue is empty. public boolean empty() { return stack1.empty()&&stack2.empty(); } }
四、结果
越努力,越幸运。
相关文章推荐
- ios--uitextfield动态限制输入的字数(解决方式)
- 3.30课·········Marquee标签
- Hive分析窗口函数之LAG,LEAD,FIRST_VALUE和LAST_VALUE
- CALayer 的基本概念和基本使用
- This certificate has an invalid issuer
- BlockingQueue队列学习
- 关于requirejs中的define的原理理解
- 【HDU 2604】 Queuing
- cryptoAPI接口(五)------------获取证书--演示 CryptUIDlgViewCertificate
- key-value store
- String StringBuilder StringBuffer
- package-query: requires pacman<4.3(solved)
- SQuirreL 连接 hive
- unix环境高级编程(第三版)中apue.h文件的配置问题
- Espresso自动化测试(十三)- UiAutomator2与Espresso的结合
- Arduino在ROS中的应用
- Activity中UI框架基本概念
- EasyUI Datagrid JSON对象内嵌对象的取值问题
- SIP请求消息类型与应答码
- Android UI基础——TextSwitcher&ImageSwitcher控件