
栈
易燃易爆炸i
小白
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构--java语言实现用两个栈实现队列
目录 1 题目描述 2 解题思路 3 代码实现 1 题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 2 解题思路 我们知道:栈-先进后出,队列-先进先出,如何用两个栈实现队列呢?很简单,我们可以用一个栈1进行入栈操作,另一个栈2进行出栈操作,这时我们就要分情况了:当栈2为空时,将栈1中的元素依次出栈并且将这些元素依次入到栈2,故栈1中先...原创 2019-05-25 10:57:03 · 522 阅读 · 0 评论 -
数据结构--java语言实现最小栈
目录 1 题目描述 2 解题思路 3 代码实现 1 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。 push(x)-- 将元素 x 推入栈中。 pop()-- 删除栈顶的元素。 top()-- 获取栈顶元素。 getMin() -- 检索栈中的最小元素。 2 解题思路 利用两个栈集合stack和minStack:stack栈中...原创 2019-05-25 11:39:11 · 184 阅读 · 0 评论 -
数据结构--Java语言实现有效的括号
目录 1 题目描述 2 解题思路 3 代码实现 1 题目描述 给定一个只包括 '(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 2 解题思路 栈:里面存放左括号,当有右括号出现时,将栈顶元素出栈,进行匹配即可。共有四种情况:...原创 2019-05-27 19:30:00 · 314 阅读 · 0 评论 -
数据结构--Java语言实现用两个队列实现栈
目录 1 题目描述 2 解题思路 3 代码实现 1 题目描述 使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是push to back, peek/pop from front, size, 和is empty...原创 2019-05-27 21:53:02 · 380 阅读 · 0 评论 -
Java语言用递归和非递归实现二叉树的前序遍历
目录 1 递归实现 1.1 思路 1.2 代码 2 非递归实现 2.1 思路 2.2 代码 1 递归实现 1.1 思路 底层是由栈实现,若根节点非空,先打印根节点,之后递归到根节点的左孩子节点...当遇到null节点时,返回;此时第6行代码执行完毕,进入第7行代码,注意此时递归后的节点,访问到当前节点的右孩子节点又进入递归~刚开始理解递归有些难,但这要自己慢慢琢磨、摸索代码~ ...原创 2019-06-13 14:39:38 · 654 阅读 · 0 评论