当前位置: 首页 > article >正文

力扣:225 用队列实现栈

栈、队列

栈: 弹夹,后进先出
队列: 排队,先进先出
描述: 在这里插入图片描述

	
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
};

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


http://www.kler.cn/a/382810.html

相关文章:

  • Django安装
  • 【LeetCode】【算法】300. 最长递增子序列
  • 11.06学习
  • .NET 8 中 Entity Framework Core 的使用
  • 七、Spring Boot集成Spring Security之前后分离认证最佳实现
  • Imperva 数据库与安全解决方案
  • 【JavaScript】V8,Nodejs 与浏览器
  • 【linux】的爱恨情仇
  • 机器学习—TensorFlow实现
  • C语言必做30道练习题
  • mysql-springboot netty-flink-kafka-spark(paimon)-minio
  • 笔记整理—linux驱动开发部分(8)framebuffer类设备
  • FlinkSql读取外部Mysql和HBase数据库的方法(scala)
  • AI笔筒操作说明及应用场景
  • Rust 图形界面开发——使用 GTK 创建跨平台 GUI
  • .NET 8 中 Entity Framework Core 的使用
  • 无人机无线电频谱侦测运行方式!
  • hf_transformers
  • 五、Java并发 Java Google Guava 实现
  • 解决CORS (跨源资源共享) 错误
  • RabbitMQ 实现消息队列负载均衡
  • 光纤定向耦合器
  • 基于vue框架的的冷链食品物流信息管理系统v81wb(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • postman入参file的接口测试
  • 初识CSS
  • CSS综合练习