zoukankan      html  css  js  c++  java
  • 3.5---用栈实现队列(CC150)

    手写时候,别忘记import java.util.Stack;

    import java.util.Stack;
    
    class MyQueue {
        Stack<Integer> s1 = new Stack();
        Stack<Integer> s2 = new Stack();
    
        // Push element x to the back of queue.
        public void push(int x) {
            
            s1.push(x);
        }
    
        // Removes the element from in front of queue.
        public void pop() {
            //思路:s2不空的时候可以直接pop
            if(!s2.empty())
            {
                s2.pop();
            }
            else
            {
                while(!s1.empty())
                {
                    s2.push(s1.pop());
                }
                s2.pop();
            }
        }
    
        // Get the front element.
        public int peek() {
               if(!s2.empty())
            {
                return s2.peek();
            }
            else
            {
                while(!s1.empty())
                {
                    s2.push(s1.pop());
                }
                return s2.peek();
            }
        }
    
        // Return whether the queue is empty.
        public boolean empty() {
            return s1.empty() && s2.empty();
        }
    }
  • 相关阅读:
    UESTC
    Education Round 8 A
    Gym
    Gym
    hdoj 1159 Common Subsequence
    UVA
    UESTC
    51Nod 1068 Bash游戏 V3 (这规律不好找)
    51Nod 1066 Bash游戏
    51Nod 1002 数塔取数问题
  • 原文地址:https://www.cnblogs.com/yueyebigdata/p/5062793.html
Copyright © 2011-2022 走看看