232. 用栈实现队列
时间:2020-04-11
本文章向大家介绍232. 用栈实现队列,主要包括232. 用栈实现队列使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
地址:https://leetcode-cn.com/problems/implement-queue-using-stacks/
<?php /** 232. 用栈实现队列 使用栈实现队列的下列操作: push(x) -- 将一个元素放入队列的尾部。 pop() -- 从队列首部移除元素。 peek() -- 返回队列首部的元素。 empty() -- 返回队列是否为空。 示例: MyQueue queue = new MyQueue(); queue.push(1); queue.push(2); queue.peek(); // 返回 1 queue.pop(); // 返回 1 queue.empty(); // 返回 false */ class MyQueue { /** * Initialize your data structure here. */ private $stackPush; private $stackPop; function __construct() { $this->stackPush = new SplStack(); $this->stackPop = new SplStack(); } /** * Push element x to the back of queue. * @param Integer $x * @return NULL */ function push($x) { $this->stackPush->push($x); } /** * Removes the element from in front of queue and returns that element. * @return Integer */ function pop() { if ($this->stackPop->isEmpty()){ $this->shift(); } return $this->stackPop->pop(); } function shift(){ while(!$this->stackPush->isEmpty()){ $this->stackPop->push($this->stackPush->pop()); } } /** * Get the front element. * @return Integer */ function peek() { if ($this->stackPop->isEmpty()){ $this->shift(); } return $this->stackPop->top(); } /** * Returns whether the queue is empty. * @return Boolean */ function empty() { return $this->stackPop->isEmpty() && $this->stackPush->isEmpty(); } } /** * Your MyQueue object will be instantiated and called as such: * $obj = MyQueue(); * $obj->push($x); * $ret_2 = $obj->pop(); * $ret_3 = $obj->peek(); * $ret_4 = $obj->empty(); */ $query = new MyQueue(); $query->push(1); $query->push(2); echo $query->peek(); // 返回 1 echo $query->pop(); // 返回 1 echo $query->empty(); // 返回 false
原文地址:https://www.cnblogs.com/8013-cmf/p/12680846.html
- 重点解读:用小程序给公众号涨粉10w的7大行业案例
- 网络域名与注册商标冲突的解决途径
- 网站代码优化我们必须要做的那些事
- 真是热闹! Slade.com等多个域名被曝交易
- python编码问题之"encode"&"decode"
- python3编码问题终结者--还搞不懂你来找我
- Pycharm集成PyQt4并使用
- python遍历一个目录,输出所有文件名
- pyqt4实现tab界面切换
- 腾讯云Fintech云端系列论坛首站北京,揭秘如何全链路赋能互联网金融
- Flask入门笔记(一)
- 刷脸还是指纹识别,that's a question
- c#:使用using关键字自动释放资源未必一定就会有明显好处
- MongoDB 学习笔记(原创)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浅谈python出错时traceback的解读
- PHP判断是否是微信打开还是浏览器打开的方法
- php面向对象程序设计中self与static的区别分析
- PHP如何根据文件头检测文件类型实例代码
- PHP去除空数组且数组键名重置的讲解
- Yii2框架配置文件(Application属性)与调试技巧实例分析
- java解析json方法总结
- PHP正则验证字符串是否为数字的两种方法并附常用正则
- 使用python编写一个语音朗读闹钟功能的示例代码
- PHP中常见的密码处理方式和建议总结
- php+Ajax处理xml与json格式数据的方法示例
- python3 循环读取excel文件并写入json操作
- PHP根据key删除数组中指定的元素
- PHP JWT初识及其简单示例
- PHP正则判断一个变量是否为正整数的方法