**编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。
给定一个操作序列ope及它的长度n,其中元素为正数代表push操作,为0代表pop操作,保证操作序列合法且一定含pop操作,请返回pop的结果序列。
测试样例:
[1,2,3,0,4,0],6
返回:[1,2]**
import java.util.*;
public class TwoStack {
private Stack<Integer> stack = new Stack<Integer>();
private Stack<Integer> help = new Stack<Integer>();
public int[] twoStack(int[] ope, int n) {
// write code here
int size = 0;
for(int i = 0; i < n; i++){
if(ope[i]>0){
stack.push(ope[i]);
}
else if (ope[i] == 0){
size++;
}
}
int[] res = new int[size];
int index = 0;
change(stack,help);
while(size-->0){
res[index++] = help.pop();
}
return res;
}
public static void change(Stack<Integer> a , Stack<Integer> b){
while(!a.empty()){
b.push(a.pop());
}
}
}