用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 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
重磅干货,第一时间送达题目删除链表中重复的结点题目要求在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。例如,链表1->2->3->3->4->4->5处理后为1->2->5解题思路一开始觉得哇这题目好简单,不过是找到需要删除的节点,然后跳过该节点就行了。思路A:新建一个哈希表,由于链表是有序的,将所有的
分类:
编程语言 时间:
2020-12-21 10:57:02
阅读次数:
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