java:
push就push进st1,pop时st2是空的就把st1的值倒灌进st2,返回时st2是空的就返回-1,否则就返回st2 head。
class CQueue {
LinkedList<Integer> st1, st2;
public CQueue() {
st1 = new LinkedList<>();
st2 = new LinkedList<>();
}
public void appendTail(int value) {
st1.addLast(value);
}
public int deleteHead() {
if (st2.isEmpty()) {
while (!st1.isEmpty()) {//注!用LinkedList实现栈,pop默认删除head,所以用removeLast
st2.addLast(st1.removeLast());
}
}//注!!st2是空的就把st1倒灌进st1,倒灌后还是空的就返回-1,否则返回st2最后值;
return st2.isEmpty() ? -1 : st2.removeLast();
}
}