225. Implement Stack using Queues
来源:互联网 发布:梯度下降算法 matlab 编辑:程序博客网 时间:2024/06/02 02:37
Implement the following operations of a stack using queues.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- empty() -- Return whether the stack is empty.
- You must use only standard operations of a queue -- which means only
push to back
,peek/pop from front
,size
, andis empty
operations are valid. - Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
- You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).
补充知识:linkedList的poll方法:此方法返回此列表的头元素,或null,如果此列表为空
http://blog.csdn.net/gongchuangsu/article/details/51527042
peek():获取但不移除此列表的头
poll():获取并移除此列表的头
Only push is O(n), others are O(1).
public class MyStack { /** Initialize your data structure here. */ public MyStack() { } Queue<Integer> q = new LinkedList<Integer>(); /** Push element x onto stack. */ public void push(int x) { q.add(x); //linklist的add是在list的最后add for(int i=1;i<q.size();i++){ q.add(q.poll());//linklist的poll是在list开头检索移除 } } /** Removes the element on top of the stack and returns that element. */ public int pop() { return q.poll(); } /** Get the top element. */ public int top() { return q.peek(); } /** Returns whether the stack is empty. */ public boolean empty() { return q.isEmpty(); }}/** * Your MyStack object will be instantiated and called as such: * MyStack obj = new MyStack(); * obj.push(x); * int param_2 = obj.pop(); * int param_3 = obj.top(); * boolean param_4 = obj.empty(); */
0 0
- 225.Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- 225. Implement Stack using Queues
- C++ 总结几种结构体初始化的方法
- Android--SQLite事务
- bzoj 1101: [POI2007]Zap 莫比乌斯反演
- yii2框架实现文件上传
- 设计模式-抽象工厂模式
- 225. Implement Stack using Queues
- 常用Linux和Oracle命令
- Mysql间隔取数据,实现sqlserver的row_number()函数
- 关于Angular2.0 in-memory-web-api的GET http://localhost:3000/traceur 404 (Not Found)等错误的解决方法之一
- 书单推荐:成为Java顶尖程序员 ,看这11本书就够了
- 文章标题
- LeetCode Given a binary tree, return the postorder traversal of its nodes' values.
- 3年技术小结 我是做android的
- FontMetrics与TextView.textSize的关系