用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 如果学过一点基础的数据结构的话,我们可以知道队列和栈是两个不同的概念。 队列 ...
分类:
其他好文 时间:
2021-06-06 18:49:49
阅读次数:
0
仅供自己学习 思路: 需要定义两个栈st1,st2.第一次调用CQueue()时,可以用于清空两个栈。加入元素的函数直接加入进st1即可,对于删除函数,要先判断st2是否为空,如果不为空直接从st2弹出元素,如果为空就从st1一直加元素直到st1为空,如果st1为空,st2没有元素加进去,那么就返回 ...
分类:
其他好文 时间:
2021-04-06 15:09:29
阅读次数:
0
剑指 Offer 09. 用两个栈实现队列 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入: ["CQue ...
分类:
其他好文 时间:
2021-04-05 12:09:55
阅读次数:
0
解题思路: 栈是先进后出,队列是先进先出 # -*- coding:utf-8 -*- class Solution: # 初始化栈为空列表 def __init__(self): self.acceptStack=[] self.outputStack=[] def push(self, node ...
分类:
其他好文 时间:
2021-04-02 13:32:05
阅读次数:
0
**问题描述:**用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 解题思路: 栈无法实现队列功能: 栈底元素(对应队首元素) ...
分类:
其他好文 时间:
2021-01-01 11:44:06
阅读次数:
0
题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 分析: 队列的特性是:“先入先出”,栈的特性是:“先入后出”。 当我们向模拟的队列插入数 a,b,c 时,假设插入的是 stack1,此时的栈情况为: 栈 stack1:{a,b,c} 栈 stack2: ...
分类:
其他好文 时间:
2020-09-14 18:50:06
阅读次数:
27
import java.util.Stack; public class CQueue { Stack<Integer> stack1 = new Stack<>(); Stack<Integer> stack2 = new Stack<>(); public CQueue() { } public ...
分类:
其他好文 时间:
2020-08-07 12:30:51
阅读次数:
63
lc 剑指 Offer 09. 用两个栈实现队列 题目描述 输入输出描述 思路 1、使用传统的栈Stack即可完成 2、使用Deque数据结构堵住一端(堵住首) (addLast(),removeLast) 或者堵住尾(addFirst();removeFirst) 3、使用Deque数据结构堵住一 ...
分类:
其他好文 时间:
2020-07-20 13:02:17
阅读次数:
66
【题目描述】 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail" ...
分类:
其他好文 时间:
2020-07-11 16:54:48
阅读次数:
51
剑指 Offer 09. 用两个栈实现队列 思路 把数据在两个栈中分别“折腾”一次,出来的顺序就是队列的顺序。 向stack1中push数据——向队列中添加数据 从stack2中弹出数据——从队列中删除头部数据 代码 import java.util.Stack; class CQueue { St ...
分类:
其他好文 时间:
2020-07-01 23:43:18
阅读次数:
54