import java.util.LinkedList;
import java.util.Queue;
public class Stack {
Queue<Integer> Q1,Q2;
public Stack() {
Q1=new LinkedList<Integer>();
Q2=new LinkedList<Integer>();
}
public void push(int data) {
Q1.add(data);
}
public int peek() {
int size=Q1.size()-1;
for(int i=0; i<size;i++)
Q2.add(Q1.remove());
int peek = Q1.remove();
Q2.add(peek);
SwapQueues();
return peek;
}
public int pop() {
int size=Q1.size()-1;
for(int i=0; i<size;i++)
Q2.add(Q1.remove());
int pop = Q1.remove();
SwapQueues();
return pop;
}
private void SwapQueues() {
Queue<Integer> temp = Q1;
Q1=Q2;
Q2=temp;
}
}
No comments:
Post a Comment