zoukankan      html  css  js  c++  java
  • 面试题 03.04. 化栈为队

    地址:https://leetcode-cn.com/problems/implement-queue-using-stacks-lcci/

    <?php
    /**
     * Created by PhpStorm.
     * User: huahua
     * Date: 2020/6/19
     * Time: 下午4:27
     */
    
    /**
    
    实现一个MyQueue类,该类用两个栈来实现一个队列。
    
    
    示例:
    
    MyQueue queue = new MyQueue();
    
    queue.push(1);
    queue.push(2);
    queue.peek();  // 返回 1
    queue.pop();   // 返回 1
    queue.empty(); // 返回 false
    
    说明:
    
    你只能使用标准的栈操作 -- 也就是只有 push to top, peek/pop from top, size 和 is empty 操作是合法的。
    你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。
    假设所有操作都是有效的 (例如,一个空的队列不会调用 pop 或者 peek 操作)。
     */
    class MyQueue {
        /**
         * Initialize your data structure here.
         */
        private $queue;
        function __construct() {
            $this->queue= [];
        }
    
        /**
         * Push element x to the back of queue.
         * @param Integer $x
         * @return NULL
         */
        function push($x) {
            $this->queue[] = $x;
        }
    
        /**
         * Removes the element from in front of queue and returns that element.
         * @return Integer
         */
        function pop() {
            foreach($this->queue as $key =>$value){
                $pop = $value;
                unset($this->queue[$key]);
                break;
            }
            return $pop;
        }
    
        /**
         * Get the front element.
         * @return Integer
         */
        function peek() {
            foreach($this->queue as $value){
                return $value;
            }
        }
    
        /**
         * Returns whether the queue is empty.
         * @return Boolean
         */
        function empty() {
            return empty($this->queue);
        }
    }
    
    /**
     * 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();
     */
  • 相关阅读:
    5+ App开发Native.js入门指南
    uni-app vue-cli命令行
    本地uni-app原生插件提交云端打包
    编写package.json文件
    生成插件包
    无障碍角色 accessibilityRole (iOS, Android)
    ajax 整理
    Javascript分享笔记
    echarts 横坐标分行展示,以及文字显示顶部
    js总结(11)js作用域
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/13163753.html
Copyright © 2011-2022 走看看