llllmz

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

225. 用队列实现栈

class MyStack {
public:
MyStack()
: q1(queue<int>()), q2(queue<int>())
{
}
void push(int x) {
q1.push(x);
}
int pop() {
int ret;
if(q1.size() == 1){
ret = q1.front();
q1.pop();
}else{
int n = q1.size() - 1;
while(n > 0){ //将多余元素移到q2
q2.push(q1.front());
q1.pop();
--n;
}
ret = q1.front();
q1.pop();
while(!q2.empty()){ //移回q1
q1.push(q2.front());
q2.pop();
}
}
return ret;
}
int top() {
int ret;
if(q1.size() == 1){
ret = q1.front();
}else{
int n = q1.size() - 1;
while(n > 0){
q2.push(q1.front());
q1.pop();
--n;
}
ret = q1.front();
q1.pop();
q2.push(ret);
q1 = q2;
while(!q2.empty()){
q2.pop();
}
}
return ret;
}
bool empty() {
return q1.empty();
}
private:
queue<int> q1;
queue<int> q2;
};

 

最近学习很不顺心,感觉自己很没用,学习前端感觉也好难好难,有种学不会的感觉,但我知道还很早,路还有很远,相信自己一定可以做到的。

 

posted on   神奇的萝卜丝  阅读(1)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示