文章 2024-01-12 来自:开发者社区

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

题目题目链接用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]] 输出:[null....

剑指 Offer 09:用两个栈实现队列
文章 2023-12-28 来自:开发者社区

【剑指offer】-两个栈来实现一个队列-05/67

一 题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作( 队列中的元素为int类型)。二 题目分析(一)题目思路用两个栈实现一个队列的功能?入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并push进栈B,栈B出栈;如果不为空,栈B直接出栈。用两个队列实现一个栈的功能?入栈:将元素进队列A出栈:判断队列A中元素的个数是否为1,如果等于1,则出队列,否则将....

文章 2023-10-19 来自:开发者社区

剑指offer(C++)-JZ9:用两个栈实现队列(数据结构-队列 & 栈)

题目描述:用两个栈来实现一个队列,使用n个元素来完成 n 次在队列尾部插入整数(push)和n次在队列头部删除整数(pop)的功能。 队列中的元素为int类型。保证操作合法,即保证pop操作时队列内已有元素。数据范围: n≤1000要求:存储n个元素的空间复杂度为 O(n) ,插入与删除的时间复杂度都是 O(1)示例:输入:["PSH1","PSH2","POP","POP"]返回值:1,2说明....

剑指offer(C++)-JZ9:用两个栈实现队列(数据结构-队列 & 栈)
文章 2023-09-20 来自:开发者社区

剑指offer-8.用两个栈实现队列

为了方便系统性理解。设置有剑指offer专栏(已经全部写完)http://t.csdn.cn/5dsyA有问题可以留言,或者私聊博主。题目 题解1: 代码1: 

剑指offer-8.用两个栈实现队列
文章 2023-07-07 来自:开发者社区

【剑指offer】JZ7 重建二叉树、JZ9 用两个栈实现队列

\描述: 给定节点数为 n 的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。思路:题上给了我们前序遍历(根 左 右)和中序遍历(左 根 右),因为前序遍历先遍历根,故可以通过前序遍历确定根,再由中序遍历确定根的左右子树是什么.循环往复(递归),直到整个树....

【剑指offer】JZ7 重建二叉树、JZ9 用两个栈实现队列
文章 2023-06-17 来自:开发者社区

剑指offer_栈和队列---栈的压入,弹出序列

##题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)##解题思路1,按照顺序持续入栈,直到发现和出栈第一个元素相同的为止,弹出,接着判断2,....

文章 2023-06-17 来自:开发者社区

剑指offer_栈和队列---包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。解题思路1,两个栈,一个完成基本功能,一个充当辅助栈2,辅助栈内最小值总是上浮到栈顶代码实现/** * */ package 栈和队列; import java.util.Stack; /** * <p> * Title:MinStack * </p> * <p> *...

文章 2023-06-17 来自:开发者社区

剑指offer_栈和队列---用两个栈实现一个队列

题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路1,用stack1来充当入队,将stack1所有元素出栈到stack2,然后stack2出栈,实现先进先出。2,三种算法,一种比一种优化/** * */ package 栈和队列; import java.util.Stack; /** * <p> * Title:Stack...

文章 2023-06-15 来自:开发者社区

剑指offer 08. 用两个栈实现队列

题目描述请用栈实现一个队列,支持如下四种操作:push(x) – 将元素x插到队尾;pop() – 将队首的元素弹出,并返回该元素;peek() – 返回队首元素;empty() – 返回队列是否为空;注意:你只能使用栈的标准操作:push to top , peek/pop from top , size 和 is empty ;如果你选择的编程语言没有栈的标准库,你可以使用 list 或者 ....

剑指offer 08. 用两个栈实现队列
文章 2022-12-27 来自:开发者社区

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

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[],[]]输出:[null,null,3,-....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注