LeetCode-Implement Queue using Stacks

來源:互聯網
上載者:User

標籤:

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 top, peek/pop from top, size, and is empty operations 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).
class MyQueue {    Stack<Integer> inStack=new Stack<Integer>();    Stack<Integer> outStack=new Stack<Integer>();    // Push element x to the back of queue.    public void push(int x) {        inStack.push(x);    }    // Removes the element from in front of queue.    public void pop() {                if(!outStack.empty()){            outStack.pop();        }                else{            while(!inStack.empty()){                int value=inStack.pop();                outStack.push(value);            }            outStack.pop();        }            }    // Get the front element.    public int peek() {        int res=0;        if(!outStack.empty()){            res=outStack.peek();        }        else{            while(!inStack.empty()){                int value=inStack.pop();                outStack.push(value);            }            res=outStack.peek();        }        return res;    }    // Return whether the queue is empty.    public boolean empty() {        if(inStack.empty() && outStack.empty()){            return true;        }        return false;    }}

 

LeetCode-Implement Queue using Stacks

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.