当前位置: 首页 > news >正文

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

题目介绍

用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。

题目分析

这是一个典型的栈和队列相互转换的题目,注意,栈的性质是先进后出,队列的性质是先进先出,队列的push操作,可以使用一个栈来完成,队列的pop操作,需要把一个栈的数据转到另外一个栈上,然后只需要对另外一个栈,执行pop()操作即可,因为此时的栈顶即是第一个栈的栈定,看成队列的话,即是队列的出口处,详细操作请看源代码。

源代码

class Solution
{
public:void push(int node) {stack1.push(node);}int pop() {while(!stack1.empty()){stack2.push(stack1.top());stack1.pop();}int num=stack2.top();stack2.pop();while(!stack2.empty()){stack1.push(stack2.top());stack2.pop();}return num;}
private:stack<int> stack1;stack<int> stack2;
};

http://www.taodudu.cc/news/show-1782045.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
  • 3D Bounding Box Estimation Using Deep Learning and Geometry
  • Deep manta算法解析
  • GS3D An Efficient 3D Object Detection Framework for Autonomous Driving算法解析
  • python机器学习库xgboost使用调参
  • LightGBM算法解析
  • 机器学习模型之集成算法
  • ESPNet: Efficient Spatial Pyramid of Dilated Convolutions for Semantic Segmentation(自动驾驶领域轻量级模型)
  • 中缀表达式转后缀表达式(非常简单易懂)
  • 后缀表达式转中缀表达式(非常简单易懂)
  • 给定一列非负整数,求这些数连接起来能组成的最大的数。
  • 努力找工作中。。。
  • 手撕代码之快速排序算法(简单明了)
  • 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。
  • 小Q正在给一条长度为n的道路设计路灯安置方案。 为了让问题更简单,小Q把道路视为n个方格,需要照亮的地方用'.'表示, 不需要照亮的障碍物格子用'X'表示。
  • 牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。 但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。 牛牛希望你能帮他计算一共有,,,
  • C++实现选择排序
  • C++实现希尔排序
  • 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示,,,
  • CatBoost之算法解析(Kaggle常用模型)
  • ElasticNet算法解析
  • SVM支持向量机算法详解
  • SVM中的一些关键点解析
  • 朴素贝叶斯算法解析
  • Kmeans算法解析(非常详细)
  • DBSCAN(自适应密度聚类)算法解析
  • ID3、C4.5、CART决策树算法解析(关键内容讲解)
  • 面试之手撕BP反向传播
  • XGBoost算法解析(非常详细)
  • 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。