首页 > 其他分享 >剑指 Offer 09. 用两个栈实现队列(简单)

剑指 Offer 09. 用两个栈实现队列(简单)

时间:2023-07-27 21:11:23浏览次数:43  
标签:Offer 队列 top 09 int st1 st2 empty

题目:

class CQueue {
public:
    stack<int> st1;
    stack<int> st2;
    CQueue() {

    }
    
    void appendTail(int value) {
        st1.push(value);
    }
    
    int deleteHead() {
        if(st1.empty()&&st2.empty())return -1;
        if(!st2.empty()){                      //要先从st2中弹出队列头部元素
            int top=st2.top();
            st2.pop();
            return top;
        }
        while(!st1.empty()){                   //st2为空的时候再把st1中元素全部导入st2中,此后再弹出队列头部元素
            st2.push(st1.top());
            st1.pop();
        }
        int top=st2.top();
        st2.pop();
        return top;
    }
};

标签:Offer,队列,top,09,int,st1,st2,empty
From: https://www.cnblogs.com/fly-smart/p/17586047.html

相关文章

  • Java 本地队列
    实现Java本地队列1.理解本地队列在开始实现Java本地队列之前,首先需要明确什么是队列。队列是一种先进先出(FIFO)的数据结构,类似于我们平常排队的场景。在编程中,队列常常被用来存储需要按照一定顺序处理的数据。Java提供了一个Queue接口,它是Collection接口的子接口,定义了......
  • 剑指 Offer 58 - I. 翻转单词顺序(简单)(简单个屁!)
    题目:classSolution{public:stringreverseWords(strings){//该方法利用递归栈的逆序将单词逆序stringword;//保存一个完整的单词if(s.empty())returnword;inti=0;while......
  • js 0.02 - 0.01 - 0.01 怎么得出 0.00999999999,如何修正
    ......
  • 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(简单)
    题目:classSolution{public:vector<int>exchange(vector<int>&nums){for(inti=0,j=nums.size()-1;i<j;i++){if(nums[i]%2==0){//从i前开始,遇到偶数开始处理while(nums[j]%2==0&&am......
  • 队列
    实现代码:importjava.util.Scanner;publicclassTest1{publicstaticvoidmain(String[]args){//测试ArrayQueuearrayQueue=newArrayQueue(3);charkey='';//接受用户输入Scannerscanner=newScanner(System.in);......
  • 深度学习用什么卡比较给力?—— A100真的么有RTX4090好吗?
    近日看到这么一个帖子:https://www.zhihu.com/question/612568623/answer/3131709693     =================================================   ......
  • 数据结构练习笔记——循环队列的基本操作
    循环队列的基本操作【问题描述】根据循环队列的类型定义,完成循环队列的基本操作。主函数中测试队列。【输入形式】一个整数m,表示入队的元素个数【输出形式】第一行:输出队头元素第二行:队列中元素依次出队以空格间隔【样例输入】5【样例输出】113579【样例输入】0【样......
  • Redis实现消息队列
    Redis基于内存,高性能并且提供多种数据结构供使用,那么对于Redis能不能作为消息队列?以及与专业的消息队列,如RocketMQ,Kafka等差距又在哪里?Redis提供多种方式实现消息队列,基于List,基于Pub/Sub等,如今基本广泛使用的是Redis5.0之后推出的Stream流格式,其具有支持持久化,支持消......
  • 阻塞的队列
    BLockingQueue是一个阻塞的队列,最典型的应用场景就是生产者和消费者模式。生产者和消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此并不直接通信,而是通过阻塞队列进行通信,所以生产者生产完数据后不用等待消费者进行处理,而是直接扔给阻塞队列,消费......
  • 正点原子Ubuntu入门009---Ubuntu文件权限管理
    一、Ubuntu/Linux文件权限文件权限是指不同用户或用户组对不同文件所拥有的权限,文件权限分为三种:r:可读  w:可写  x:可执行  -rw-r--r--为一组文件权限其中第一位代表文件类型,后面9位分为三组,分别对应拥有者权限、拥有者所在组权限、其他用户权限文件类型: 普......