用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 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
用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1)来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof著作权归领
分类:
其他好文 时间:
2020-09-17 20:32:56
阅读次数:
28
题目描述:用两个栈来实现一个队列,完成队列的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
这到题一开始自己想到的是用两个栈来转换,再用一个lis来存储。。。经过验证这也太麻烦了 看了大佬的解答,可以直接用stringbuilder来存储 package leetcode;/** * @author doyinana * @create 2020-07-21 18:05 */ public ...
分类:
其他好文 时间:
2020-07-22 11:48:25
阅读次数:
86
lc 剑指 Offer 09. 用两个栈实现队列 题目描述 输入输出描述 思路 1、使用传统的栈Stack即可完成 2、使用Deque数据结构堵住一端(堵住首) (addLast(),removeLast) 或者堵住尾(addFirst();removeFirst) 3、使用Deque数据结构堵住一 ...
分类:
其他好文 时间:
2020-07-20 13:02:17
阅读次数:
66