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; };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步