用两个栈实现一个队列问题
来源:2-8 用两个栈实现一个队列
qq_深海鱼之泪_0
2022-03-04
var CQueue = function() {
this.inStack = [];
this.outStack = [];
};
CQueue.prototype.appendTail = function(value) {
this.inStack.push(value);
};
CQueue.prototype.deleteHead = function() {
if (!this.outStack.length) {
while (this.inStack.length) {
this.outStack.push(this.inStack.pop());
}
}
if (this.outStack.length) {
return this.outStack.pop();
} else {
return -1;
}
};
老师,请教下这样实现是不是更简单一点,判断输出的栈里为空的时候再将输入栈的数据压进去,省去每次都要压栈、出栈的操作
写回答
1回答
-
双越
2022-03-04
如果能跑通单元测试,这样也没问题。
00
相似问题