本文共 1411 字,大约阅读时间需要 4 分钟。
class MyStack { // Push element x onto stack. QueuequeueA=new ArrayDeque (); Queue queueB=new ArrayDeque (); boolean Aflag=true; public void push(int x) { if(Aflag) { queueA.add(x); } else { queueB.add(x); } } // Removes the element on top of the stack. public void pop() { if(Aflag) { while(queueA.size()>1) { queueB.add(queueA.remove()); } queueA.remove(); Aflag=false; } else { while(queueB.size()>1) { queueA.add(queueB.remove()); } queueB.remove(); Aflag=true; } } // Get the top element. public int top() { int temp=0; if(Aflag) { while(queueA.size()>1) { queueB.add(queueA.remove()); } temp=queueA.remove(); Aflag=false; } else { while(queueB.size()>1) { queueA.add(queueB.remove()); } temp=queueB.remove(); Aflag=true; } push(temp); return temp; } // Return whether the stack is empty. public boolean empty() { return Aflag?queueA.isEmpty():queueB.isEmpty(); }}
转载地址:http://dbuvb.baihongyu.com/