题目:09. 用两个栈实现队列
思路: 用栈A和栈B来实现队列,其中栈A负责插入数据,栈B负责删除数据。 为了实现队列先进先出的特点,在栈B为空时,需要将栈A中的数据取出插入栈B中。
代码:
class CQueue {
Stack
<Integer> A
,B
;
public CQueue() {
A
= new Stack<>();
B
= new Stack<>();
}
public void appendTail(int value
) {
A
.push(value
);
}
public int deleteHead() {
if(B
.isEmpty()){
if(A
.isEmpty()){
return -1;
}
while(!A
.isEmpty()){
B
.push(A
.pop());
}
}
return B
.pop();
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-2659.html