码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode- 225 Implement Stack using Queues

时间:2017-07-31 18:55:26      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:leetcode   whether   removes   top   实现   使用   int   get   先进先出   

  • 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   whether   removes   top   实现   使用   int   get   先进先出   

原文地址:http://www.cnblogs.com/fanhaha/p/7264474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!