JAVA---Easy version to understand


  • 6
    H
     Stack<Integer> s1=new Stack<Integer>();
    Stack<Integer> s2=new Stack<Integer>();
    // 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() {
        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() {
        if(s1.empty()&&s2.empty())
            return true;
        else
            return false;
    }

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.