栈与队列 - 用栈实现队列

232. 用栈实现队列


方法一:

javascript 复制代码
var MyQueue = function() {
    this.stackIn = [];
    this.stackOut = [];
};

/** 
 * @param {number} x
 * @return {void}
 */
MyQueue.prototype.push = function(x) {
    this.stackIn.push(x);
};

/**
 * @return {number}
 */
MyQueue.prototype.pop = function() {
    const size = this.stackOut.length;
    if (size) {
        return this.stackOut.pop();
    }
    while (this.stackIn.length) {
        this.stackOut.push(this.stackIn.pop());
    }
    return this.stackOut.pop();
};

/**
 * @return {number}
 */
MyQueue.prototype.peek = function() {
    const x = this.pop();
    this.stackOut.push(x);
    return x;
};

/**
 * @return {boolean}
 */
MyQueue.prototype.empty = function() {
    return !this.stackIn.length && !this.stackOut.length
};

/**
 * Your MyQueue object will be instantiated and called as such:
 * var obj = new MyQueue()
 * obj.push(x)
 * var param_2 = obj.pop()
 * var param_3 = obj.peek()
 * var param_4 = obj.empty()
 */
相关推荐
清空mega21 分钟前
《Vue3 中 computed、watch、watchEffect 怎么用?响应式核心能力详解》
前端·javascript·vue.js
SuperEugene1 小时前
前端-后端-产品-项目-运维:互联网项目协作全流程解析
运维·前端·javascript
A黄俊辉A1 小时前
openlayers+vue初学注意点
前端·javascript·vue.js
南篱1 小时前
从回调地狱到优雅异步:JavaScript 异步编程的完整演进之路
前端·javascript·面试
rmst1 小时前
列表的拖动排序动画原理
javascript·react.js·动效
undeflined1 小时前
EnvManage - 多环境开发代理管理工具
前端·javascript·node.js
三小河1 小时前
从零实现ollama本地大模型可视化+内网穿透
前端·javascript·面试
Cg136269159741 小时前
JS-对象-array数组
开发语言·前端·javascript
weixin456227191 小时前
省市区镇村五级联动
前端·javascript·chrome
智海观潮2 小时前
只用一周时间通过AI工具重写Next.js,Cloudflare推出vinext重建前端开发边界
开发语言·javascript·人工智能·大模型·web