题解 | #用两个栈实现队列#

用两个栈实现队列

https://www.nowcoder.com/practice/54275ddae22f475981afa2244dd448c6

2022.0806算法第14题用两个栈实现队列
使用两个栈实现队列,需要将一个栈作为进,一个栈作为出。
push操作只需要存入stack1即可,
pop操作需要对反转顺序的stack2进行操作。
首先需要判断stack2的数据是否需要更新,也就是stack2中是否还有元素
如果stack2中已经没有元素,需要将stack1中的元素进行传递
if(stack2.empty())
{
    while(!stack1.empty())
    {
        stack2.push(stack1.top());
        stack1.pop();
    }
}
传递时,需要将stack1中的元素进行删除,防止下次更新时出现重复。
也就是stack1中保存着新存进去的值,直到stack2当前保存的值全部出栈之后才会更新后面的值。
如果stack2中有元素存在,则直接去除即可,记得删除。
int node=stack2.top();
stack2.pop();



#算法题#
全部评论

相关推荐

05-29 22:11
门头沟学院 Java
Elastic90:抛开学历造假不谈,这公司的招聘需求也挺怪的,Java开发还要求你有图文识别、移动端开发和c++的经验,有点逆天了。
点赞 评论 收藏
分享
小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务