zoukankan      html  css  js  c++  java
  • 225. Implement Stack using Queues

    Implement the following operations of a stack using queues.

    • push(x) -- Push element x onto stack.
    • pop() -- Removes the element on top of the stack.
    • top() -- Get the top element.
    • empty() -- Return whether the stack is empty.

    Notes:

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

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

     1 class MyStack {
     2 
     3     private Queue<Integer> p = new LinkedList<>();
     4 
     5     /** Initialize your data structure here. */
     6     public MyStack() {
     7 
     8     }
     9 
    10     /** Push element x onto stack. */
    11     public void push(int x) {
    12         p.add(x);
    13         for (int i=1;i<p.size();i++)
    14         {
    15             p.add(p.poll());
    16         }
    17     }
    18 
    19     /** Removes the element on top of the stack and returns that element. */
    20     public int pop() {
    21         return p.poll();
    22     }
    23 
    24     /** Get the top element. */
    25     public int top() {
    26         return p.peek();
    27     }
    28 
    29     /** Returns whether the stack is empty. */
    30     public boolean empty() {
    31         return p.isEmpty();
    32     }
    33 }
  • 相关阅读:
    找出水王
    第九周进度表
    [设计模式]组合模式
    [设计模式]外观模式
    [设计模式]策略模式
    [设计模式] 6个设计遵循基本原则
    [OSGI]Eclipse4.2 OSGI依赖Bundle
    [xfire]使用xfire开发webservice的简单示例
    [HTML5 Canvas学习]使用颜色和透明度
    [HTML5 Canvas学习]绘制矩形
  • 原文地址:https://www.cnblogs.com/wzj4858/p/7725653.html
Copyright © 2011-2022 走看看