leetcode-implement-queue-using-stacks
2015-11-20 20:02
302 查看
leetcode 上很简单的用两个堆栈来模拟队列
https://leetcode.com/problems/implement-queue-using-stacks/
https://leetcode.com/problems/implement-queue-using-stacks/
import java.util.LinkedList; class MyQueue { /* * myqueue use two tack to simulate queue ,use push() operation only on stack1.use pop() or get() operation only on stack2 */ private LinkedList<Integer> s1=new LinkedList<Integer>(); private LinkedList<Integer> s2=new LinkedList<Integer>(); // Push element x to the back of queue. public void push(int x) { s1.push(x); } // Removes the element from in front of queue. public void pop() { if(s2.size()>0) s2.pop(); else if(s1.size()>0) { while(s1.size()>0)//remove element in stack1 to stack2 until stack1 is empty { s2.push(s1.pop()); } s2.pop(); } else { //queue is empty do nothing! } } // Get the front element. public int peek() { int temp; if(s2.size()>0) { temp=s2.peek(); return temp; } else if(s1.size()>0) { while(s1.size()>0) { s2.push(s1.pop()); } temp=s2.peek(); return temp; } else { //在queue为空的情况下 return 0;//加句话就是为了编译通过 java编译器没有else不让通过 } } // Return whether the queue is empty. public boolean empty() { if(s1.size()==0&&s2.size()==0) return true; else return false; } }
相关文章推荐
- iOS中UIMenuController的使用
- UIScrollView与UIPageControl+自动滑动的封装
- ios UILocalNotification的使用
- Qt .ui转换为.h文件
- STL容器-序列式容器deque
- Android——使用Handle和Message更新UI控件
- iOS开发中UIViewcontentMode的12种属性值
- ios的手势UIGestureRecognizer
- Android中UI线程与后台线程交互设计的5种方法
- 【iOS功能实现】之利用UIDocumentInteractionController打开和预览文档
- Leetcode: Binary Tree Longest Consecutive Sequence
- openstack message queue
- UILable上如何添加背景图片
- 动画特效十八:粘性动画2
- UIScrollView的delegate方法妙用之让UICollectionView滑动到某个你想要的位置
- ios--uitextfield动态限制输入的字数
- request.getRealPath不推荐使用request.getRealPath("") 这个方法已经不推荐使用了
- Packet for query is too large (41477246 > 167772). 数据库写入数据过大
- 分享功能使用的UIPopoverController在iOS9 过期,替换为popoverPresentationController
- Thread 暂停 继续(to be continued)