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
代码: #include <iostream>#include <stack># include <string>#include <stdexcept> using namespace std; class My_Queue{public: My_Queue(){}; ~My_Queue(){}; ...
分类:
编程语言 时间:
2020-07-25 23:40:07
阅读次数:
72
设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。 思路:用一个辅助栈的栈顶记录原始栈的最小值,并且两个栈的 ...
分类:
其他好文 时间:
2020-07-22 20:49:40
阅读次数:
77
这到题一开始自己想到的是用两个栈来转换,再用一个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
题目描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例: 输入: 4->2->1->3 输出: 1->2->3->4 题目链接: https://leetcode-cn.com/problems/sort-list/ 思路1 使用两个栈来做,类似于栈排序的方法。代 ...
分类:
编程语言 时间:
2020-07-13 21:56:15
阅读次数:
71
介绍 支持数字类型、浮点类型运算表达式运算,看下面的案例 具体步骤 1)初始化两个栈:运算符栈s1和储存中间结果的栈s2; 2)从左至右扫描中缀表达式; 3)遇到操作数时,将其压s2; 4)遇到运算符时,比较其与s1栈顶运算符的优先级: (1)如果s1为空,或栈顶运算符为左括号“(”,则直接将此运算 ...
分类:
编程语言 时间:
2020-07-12 23:58:14
阅读次数:
105
##题意 传送门 通过两个栈,4中操作,实现输入序列升序排序 \(操作a:如果输入序列不为空,将第一个元素压入栈S_{1}\) \(操作b:如果栈S_{1}不为空,将S_{1}栈顶元素弹出至输出序列\) \(操作c:如果输入序列不为空,将第一个元素压入栈S_{2}\) \(操作d:如果栈S_{2}不 ...
分类:
编程语言 时间:
2020-07-11 17:08:48
阅读次数:
66
【题目描述】 用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 ) 示例 1: 输入:["CQueue","appendTail" ...
分类:
其他好文 时间:
2020-07-11 16:54:48
阅读次数:
51