队列与栈
文章平均质量分 51
baj001
这个作者很懒,什么都没留下…
展开
-
队列 Queue 与 栈 Deque
队列 Queue 的相关操作队列就像通道queue.offer(x) 在队列中加入 元素 xqueue.poll() 将队列中的首元素压出queue.peek() 将队列中的首元素取出看一下queue.isEmpty() 判断队列是否为空+++++++++++++++++++++++++++++++++++++++++++++++++++++栈 Stack 的相关操作栈的一头封死stack.push(x) 将元素x 压入栈中stack.pop() 将 尾部元素排出stack.p原创 2022-03-19 11:20:06 · 98 阅读 · 0 评论 -
LeetCode 225. 用队列实现栈
原题链接在使用队列(先进先出)实现栈的过程中,与前一个用栈实现队列不同此处的push 需要先将元素加入到queue2中,若queue1非空,则将queue1的值依次poll出,然后加入offer到queue2中,然后将queue2和queue1进行交换要实现的栈的pop,即为queue1的poll()要实现栈的top,即为queue1的peek()当queue1非空则栈非空class MyStack { Queue<Integer> queue1; // 和栈中保持.原创 2022-03-19 10:59:48 · 306 阅读 · 0 评论 -
LeetCode 232. 用栈实现队列
原题链接要实现用栈来模拟队列此处默认是没有队列的功能,需要自己来定义一些功能,但是栈的功能是具备的需要两个栈,一个负责加入,一个负责pop()出定义一个额外的功能函数dumpstackIn()作用是将stackIn栈中的元素转移到stackOut中当定义队列的push函数时,其实也就是stackIn的push加入函数当定义队列的pop函数时,首先需要将stackIn的元素先加入到stackOut中,因为栈的pop是将头部元素取出,而队列的pop是将尾部元素取出,经过dumpstackIn函数.原创 2022-03-19 10:00:48 · 752 阅读 · 0 评论 -
leetcode 239 滑动窗口最大值
思路原题链接首先定义一个双端队列deque定义数组的长度len 和 一个结果数组res ,以及定义标志位idx开始for循环当数组为非空 并且 头结点的范围 不在 [i - k + 1, i] 内时,将队列头弹出 执行deque.peek()当队列非空,并且队列尾部索引对应数组元素的元素小于nums[i]的时候,将队列尾部弹出,执行deque.peekLast()将此时的i加入到deque中 执行deque.offer(i)add() 和 offer()区别:add()和offer(原创 2022-01-28 23:02:41 · 1181 阅读 · 0 评论 -
leetcode 150 逆波兰表达式求值
思路使用栈来处理用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中需要对 减法 和 除法 进行特殊处理当遇到数字的时候,使用Integer. valueOf() 将tokens中的String类型的元素转换为Integer类型,然后压入栈中。Integer. valueOf() 作用:可以将基本类型int转换为包装类型Integer,或者将String转换成Integer,String如果为Null或“”都会报错最后返回栈顶元素class Solution原创 2022-01-25 12:02:50 · 680 阅读 · 0 评论 -
leetcode 1047 删除字符串中的所有相邻重复项
思路原题链接首先定义一个ArrayDeque 类型的deque依次取出S中的字符进行判断,使用栈进行操作,当栈顶元素不是当前的ch时,将其加入,若和当前的元素相等,则将当前元素pop出检测完之后,当deque非空的时候,使用字符串拼接,将后面pop出的元素,链接到之前元素的前面,实现了将deque中的元素,倒叙输出;例如:deque中的元素是 c a ,则首先pop出 a ,然后执行 deque.pop() + str ,将c 链接到str的前面,也就是 c aclass Solution原创 2022-01-25 11:24:20 · 1198 阅读 · 0 评论 -
leetcode 20 有效的括号
思路原题链接使用栈首先将字符串的每个字符给ch当检测到左括号的时候,在deque中加入对应的右括号当左括号检测完后,若到了右括号,则若不满足 deque.isEmpty() || deque.peek() != ch 则说明此位置上的正是和s.charAt(i) 相同的符号,这时,直接跳到下一句,将deque的元素pop出。以此类推。。。。。class Solution { public boolean isValid(String s) { Deque<Cha原创 2022-01-24 20:05:53 · 208 阅读 · 0 评论