力扣:225 用队列实现栈

栈、队列

栈: 弹夹,后进先出

队列: 排队,先进先出

描述:

js 复制代码
	
var MyStack = function () {
    // 定义两个数组,模拟队列
    this.queue = []
    this._queue = []
};

/** 
 * @param {number} x
 * @return {void}
 */
MyStack.prototype.push = function (x) {
    // 后插
    this.queue.push(x)
};

/**
 * @return {number}
 */
MyStack.prototype.pop = function () {
    // 返回栈顶元素,后进先出
    let ans
     while(this.queue.length > 1) {
        this._queue.push(this.queue.shift())
    }
    ans = this.queue.shift()
    while(this._queue.length){
        this.queue.push(this._queue.shift())
    }
    return ans
};

/**
 * @return {number}
 */
MyStack.prototype.top = function () {
    // 返回栈顶元素,
    return this.queue.slice(-1)[0]
};

/**
 * @return {boolean}
 */
MyStack.prototype.empty = function () {
    return !this.queue.length
};

用数组模拟栈、队列,没啥意思

相关推荐
spmcor8 分钟前
JavaScript 日期限制的“三个月陷阱”:从边界溢出到稳健实现
javascript
半个落月8 分钟前
Ajax 异步编程全攻略:从 XHR 到 async/await
javascript
朝星13 分钟前
Android开发[14]:网络优化之OkHttp
android·okhttp·kotlin
私人珍藏库16 分钟前
[Android] FX Player-安卓全格式播放器-比MX播放器好用
android·学习·工具·软件·多功能
写点啥呢31 分钟前
车机 Android 开机优化复盘:我怎么和 AI 一起把问题定位到 SystemUI
android·人工智能
凌波粒32 分钟前
LeetCode--90.子集II(回溯算法)
数据结构·算法·leetcode
橘子星33 分钟前
深入理解 AJAX 中的 JSON 序列化与 JS 异步处理
前端·javascript·后端
凌波粒41 分钟前
LeetCode--46.全排列(回溯算法)
数据结构·算法·leetcode
夏幻灵43 分钟前
深度解析 JavaScript 异步编程:从回调地狱到 Promise 的重构
开发语言·javascript·重构
Cobyte1 小时前
20.Vue Vapor 的应用初始化
前端·javascript·vue.js