leetcode- 225 Implement Stack using Queues

Posted 哈哈哈

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode- 225 Implement Stack using Queues相关的知识,希望对你有一定的参考价值。

  • stack:  先进后出

pop();

push();

top();

size();

empty()

  • queue: 先进先出

pop();

push();

front();

back();

size();

empty()

 

使用队列实现栈:

最重要的是考虑pop函数,因为要pop 最后进入的:

class MyStack {
public:
    /** Initialize your data structure here. */
    MyStack() {
        
    }
    
    /** Push element x onto stack. */
    void push(int x) {
        q.push(x);
    }
    
    /** Removes the element on top of the stack and returns that element. */
    int pop() {
        int n=q.size();
        for(int i=0;i<q.size()-1;i++)
        {
            int t=q.front();
            q.push(t);
            q.pop();
        }
        int t=q.front();
        q.pop();
        return t;
        
    }
    
    /** Get the top element. */
    int top() {
        return q.back();
    }
    
    /** Returns whether the stack is empty. */
    bool empty() {
        return q.empty();
        
    }
    private:
    queue<int> q;
    
};

 

以上是关于leetcode- 225 Implement Stack using Queues的主要内容,如果未能解决你的问题,请参考以下文章

leetcode?python 225. Implement Stack using Queues

LeetCode 225. Implement Stack using Queues

LeetCode 225 Implement Stack using Queues

[leetcode] 225. Implement Stack using Queues

LeetCode OJ 225Implement Stack using Queues

Leetcode 225 Implement Stack using Queues STL