用两个栈实现一个队列问题

来源: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

如果能跑通单元测试,这样也没问题。

0
0

2周刷完100道前端优质面试真题 双越最新力作

『前端面试真题100道』视频详解

1509 学习 · 642 问题

查看课程