zoukankan      html  css  js  c++  java
  • 232. Implement Queue using Stacks

    Implement the following operations of a queue using stacks.

    • push(x) -- Push element x to the back of queue.
    • pop() -- Removes the element from in front of queue.
    • peek() -- Get the front element.
    • empty() -- Return whether the queue is empty.

    Notes:

      • You must use only standard operations of a stack -- which means only push to toppeek/pop from topsize, and is emptyoperations are valid.
      • Depending on your language, stack may not be supported natively. You may simulate a stack by using a list or deque (double-ended queue), as long as you use only standard operations of a stack.
      • You may assume that all operations are valid (for example, no pop or peek operations will be called on an empty queue).

    题目含义:使用stack来实现queue的功能

     1 class MyQueue {
     2     Stack<Integer> input = new Stack();
     3     Stack<Integer> output = new Stack();
     4     /** Initialize your data structure here. */
     5     public MyQueue() {
     6         
     7     }
     8     
     9     /** Push element x to the back of queue. */
    10     public void push(int x) {
    11         input.push(x);     
    12     }
    13     
    14     /** Removes the element from in front of queue and returns that element. */
    15     public int pop() {
    16              peek();
    17         return output.pop();   
    18     }
    19     
    20     /** Get the front element. */
    21     public int peek() {
    22         if (output.empty())
    23             while (!input.empty())
    24                 output.push(input.pop());
    25         return output.peek();
    26         
    27     }
    28     
    29     /** Returns whether the queue is empty. */
    30     public boolean empty() {
    31          return input.empty() && output.empty();
    32     }
    33 }
  • 相关阅读:
    Linux系统挂载存储只读改成读写
    Linux kernel调试方法
    Linux设备树文件结构与解析深度分析
    #undef常用法
    Linux驱动中的platform总线分析
    在根文件系统中查看设备树(有助于调试)
    友元及操作符重载
    STM32 FLASH 擦除(以及防止误擦除程序代码)、写入
    C++学习笔记49:栈
    C++学习笔记48:链表的基本操作
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7725664.html
Copyright © 2011-2022 走看看