首页 > 其他分享 >栈&队列:剑指 Offer 09. 用两个栈实现队列

栈&队列:剑指 Offer 09. 用两个栈实现队列

时间:2023-06-08 15:34:30浏览次数:39  
标签:deleteHead return LinkedList Offer 队列 09 isEmpty public

题目描述:

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。

(若队列中没有元素,deleteHead 操作返回 -1 )

 

 

 

class CQueue {
    LinkedList<Integer> A, B;
    public CQueue() {
        A = new LinkedList<Integer>();
        B = new LinkedList<Integer>();
    }
    public void appendTail(int value) {
        A.addLast(value);
    }
    public int deleteHead() {
        if(!B.isEmpty()) return B.removeLast();
        if(A.isEmpty()) return -1;
        while(!A.isEmpty())
            B.addLast(A.removeLast());
        return B.removeLast();
    }
}

 

标签:deleteHead,return,LinkedList,Offer,队列,09,isEmpty,public
From: https://www.cnblogs.com/zhz123567/p/17466630.html

相关文章

  • JS 模拟 队列 结构
    Code:/***队列(基于动态数组)*@class*/varAQueue=(function(){/***栈容器*@type{DArray}*/letarr;/***@class*/class_AQueue{/***构造器*@constructor*@param{number}[capacity]*/con......
  • 算法学习day51动态规划part12-309、714
    packageLeetCode.DPpart12;/***309.最佳买卖股票时机含冷冻期*给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。*设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):*卖出股票后,你无法在第二天买入......
  • 【python】一个同步的队列类queue
    queuequeue 模块实现了多生产者、多消费者队列。这特别适用于消息必须安全地在多线程间交换的线程编程。模块中的 Queue 类实现了所有所需的锁定语义。 函数作用Queue.qsize()返回队列的大致大小。注意,qsize()>0不保证后续的get()不被阻塞,qsize()<maxsize......
  • 数据结构与算法-队列
    队列FIFO先进先出队列的实现classQueue(object):def__init__(self):self.__list=[]defenqueue(self,item):self.__list.append(item)defdequeue(self):returnself.__list.pop(0)defis_empty():returnse......
  • 队列
    1、定义:先进先出的线性表,就像排队,它只允许在队列一端插入元素,在另一端删除元素(插入一端队尾,删除一端队头)2、典型例子:作业排队3、基本功能1、宏定义结构体定义#include<stdio.h>#include<stdlib.h>#defineERROR0;#defineOK1;typedefstructNode{intdata......
  • ADG409BRZ ADI芯片 电子元器件
    ADG409BRZ是ADI(AnalogDevicesInc.)公司推出的四路单极性开关数组芯片,适用于模拟电路和数字电路,具有低电阻、宽电压范围、高通带平整度和精确的开关时间等特性。以下是ADG409BRZ的详细参数:输入电压范围:-5V~+20V使能电压范围:-5V~+20V输出电压范围:-5V~+20V外部电源范围:±12V通......
  • 链表:剑指 Offer 24. 反转链表
    题目描述:  方法:迭代(双指针) classSolution{publicListNodereverseList(ListNodehead){ListNodecur=head,pre=null;while(cur!=null){ListNodetmp=cur.next;//暂存后继节点cur.nextcur.next=p......
  • SignalR+Hangfire 实现后台任务队列和实时通讯
    SignalR+Hangfire实现后台任务队列和实时通讯1.简介:SignalR是一个.NET的开源框架,SignalR可使用WebSocket,ServerSentEvents和LongPolling作为底层传输方式实现服务端和客户端的实时数据交互。Hangfire是一个.NET的开源后台任务框架提供统一的编程模型,以可靠的方式处理......
  • 每日记录(数据结构 第 三 章 栈与队列 二 )
    队列队列是一种先进先出(FIFO)(FIFO)(FIFO)的线性表.在表一端插入,在另一端删除。0.队列的基本概念定义只能在表的一端(队尾)进行插入,在另一端(队头)进行删除运算的线性表逻辑结构与线性表相同,仍为一对一关系存储结构用顺序队列或链队存储均可运算规则先进先出(FIFO)实现方式......
  • 每日记录(数据结构 第 三 章 栈与队列 )
     一、栈栈(stack)(lastinfirstout)(stack)(last\infirst\out)(stack)(lastinfirstout)后进先出 栈的基本概念定义只能在表的一端(栈顶)进行插入和删除运算的线性表逻辑结构与线性表相同,仍为一对一关系存储结构用顺序栈或链栈存储均可,但以顺序栈更......