package cn.rbl.ssm.interview;
import java.util.LinkedList;
import java.util.Queue;
public class MyStack {
public Queue<Integer> queue1 = new LinkedList<>();
public Queue<Integer> queue2 = new LinkedList<>();
Boolean push(int a) {
//选择队列1为插入队列
queue1.add(a);
return true;
}
int size() {
return queue1.size() + queue2.size();
}
int pop() {
//检验队列1中的数据,如果有值,将除队首的数据放入队列2中并将队首的值取出(移除);
// 否则,将队列2中除队首的值放入队列1并将队首值取出。
if (queue1.size() > 0) {
int count = queue1.size();
for (int i = 0; i < count - 1; i++) {
queue2.add(queue1.poll());
}
return queue1.poll();
} else {
int count = queue2.size();
for (int i = 0; i < count - 1; i++) {
queue1.add(queue2.poll());
}
return queue2.poll();
}
}
public static void main(String[] args) {
MyStack myStack = new MyStack();
myStack.push(4);
myStack.push(5);
myStack.pop();
myStack.push(9);
myStack.push(10);
int count = myStack.size();
for (int i = 0; i < count; i++) {
System.out.println(myStack.pop());
}
}
}