力扣days04 栈与队列

栈是以底层容器完成其所有的工作,对外提供统一的接口,底层容器是可插拔的(也就是说我们可以控制使用哪种容器来实现栈的功能)。

力扣232. 用栈实现队列

  用两个栈实现队列的先进先出。

力扣225. 用队列实现栈

  队列是先进先出的规则,使用辅助队列,每次将压栈数据先存入辅助队列,后移动到另一队列中,实现先进后出。

  优化:一个队列在模拟栈弹出元素的时候只要将队列头部的元素(除了最后一个元素外) 重新添加到队列尾部,此时再去弹出元素就是栈的顺序了。

力扣20. 有效的括号

  利用栈的先进后出,可以判断括号是否成对出现;

力扣1047. 删除字符串中的所有相邻重复项

力扣150. 逆波兰表达式求值

  逆波兰表达式主要有以下两个优点:

  • 去掉括号后表达式无歧义。

  • 适合用栈操作运算:遇到数字则入栈;遇到运算符则取出栈顶两个数字进行计算,并将结果压入栈中。

力扣239. 滑动窗口最大值

力扣347. 前 K 个高频元素

  常见数据结构:大顶堆、小顶堆;(堆适用于求高低频的结果集)

posted @ 2023-03-03 10:59  LinxhzzZ  阅读(22)  评论(0)    收藏  举报