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

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

相关推荐
plainGeekDev33 分钟前
工厂模式 → Hilt
android·java·kotlin
雨白40 分钟前
深入理解 Kotlin 协程 (十):引而不发,探秘 Flow 冷流机制与异常透明性
android·kotlin
plainGeekDev1 小时前
Application 单例 → Hilt Singleton
android·java·kotlin
程序员码歌2 小时前
我全程用 AI开发了一款微信小游戏,上线了
android·前端·游戏开发
FogLetter2 小时前
当JavaScript学会“分身术”:异步编程的进化简史
前端·javascript·面试
java1234_小锋3 小时前
Vue3+Vite简介以及构建第一个HelloWorld实例
前端·javascript·vue.js·vite
黄林晴3 小时前
你敢信吗?同样是跨端,KMP 跟 RN 居然差这么多!
android·前端
天天鸭4 小时前
5 万处中文的老项目实现国际化,如何用架构思维完成改造?
前端·javascript·架构
zbmwa4 小时前
jetpack compose 副作用 produceState
android
hunterandroid5 小时前
Android 后台任务可靠性排查:从 WorkManager 观测到失败重试闭环
android·前端