力扣: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
};

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

相关推荐
漫天黄叶远飞18 小时前
别再把对象当“字典”!JS 零基础也能看懂的“属性账本”拆解笔记
javascript
起名时在学Aiifox18 小时前
Vue3 + Element Plus 表格排序实战:基于状态字段的智能排序方案
前端·javascript·vue.js·element plus
yzx99101318 小时前
基于Flask的智能语音增强系统模拟
前端·javascript·html
青衫码上行18 小时前
【Java Web学习 | 第14篇】JavaScript(8) -正则表达式
java·前端·javascript·学习·正则表达式
我的虾分发18 小时前
虾分发是一个键打包封装APP内测分发平台
javascript
Swift社区18 小时前
LeetCode 429 - N 叉树的层序遍历
算法·leetcode·职场和发展
天才熊猫君18 小时前
vue3 基于 el-table 的无限滚动自定义指令实现
前端·javascript
用户20187928316718 小时前
Android 混淆引发的反序列化问题浅析
android
3秒一个大19 小时前
从代码示例看 ES8 中的 async/await:简化异步操作的利器
javascript