leetcode 225: Implement Stack using Queues
2015-06-19 01:00
507 查看
Implement Stack using Queues
Total Accepted: 3468Total Submissions: 11988
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.
Notes:
You must use only standard operations of a queue -- which means only
push to back,
peek/pop from front,
size, and
is emptyoperations 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).
Update (2015-06-11):
The class name of the Java function had been updated to
MyStack instead of Stack.
[思路]
没想出啥好的办法. 就是两个queues, 轮流把除最后一个之外的都放入另一个queue中.
[CODE]
class MyStack { // Push element x onto stack. Queue<Integer> q1 = new LinkedList<Integer>(); Queue<Integer> q2 = new LinkedList<Integer>(); public void push(int x) { q1.offer(x); } // Removes the element on top of the stack. public void pop() { while(q1.size()>1) q2.offer(q1.poll()); q1.poll(); Queue<Integer> q = q1; q1 = q2; q2 = q; } // Get the top element. public int top() { while(q1.size()>1) q2.offer(q1.poll()); int x = q1.poll(); q2.offer(x); Queue<Integer> q = q1; q1 = q2; q2 = q; return x; } // Return whether the stack is empty. public boolean empty() { return q1.isEmpty(); } }
相关文章推荐
- EasyUI上传图片,前台预览,后台读取
- Nearest Sequence(lcs)
- Lucene知识总结(Query篇)
- BlockingQueue的使用
- 成为设计师的五项技能!第一招~~
- herbnate session.createSQLQuery(sql) 和 session.createQuery(sql)使用
- UINavigationController设置透明背景
- uiautomakor工具安装常见问题
- Dynamic Programming | Set 4 (Longest Common Subsequence)
- iOS入门-UI基础控件
- Unreal Engine 4 Programming Guide
- java基础GUI
- ZOJ 1733 Common Subsequence
- UIBarButtonItem全局和局部修改
- Dynamic Programming | Set 3 (Longest Increasing Subsequence)
- bzoj-1570 Blue Mary的旅行
- iOS游戏开发之UIDynamic
- hibernate :Type ServiceRegistryBuilder deprecated hibernate
- IOS之UITextField与键盘
- Fiddler之makecert.exe提示Failed to acquire a security provider from issuer's centificate问题解决