0%

栈是一种后进先出的数据结构

s.push压栈,s.pop弹出栈顶,s.top获取栈顶元素

栈实现

Stack.hpp
Stack.cpp

函数调用栈

递归与栈

递归函数的实现是基于函数栈实现的

递归可以使用栈来实现,通过栈保存当前环境

单调栈

计算器的栈实现

$+ - * / ( ) $ 运算符的优先级不同,可以使用优先级非降低单调栈来实现

如果当前运算符优先级高于或者等于栈顶运算符,则压栈;

否则,将栈顶运算符弹出栈,一直到当前运算符优先级高于或者等于栈顶运算符;

接雨水

递减单调栈
trap.cpp

柱状图中的最大矩形

非递减单调栈

去除重复字符

leetcode.316. 去除重复字母
316.removeDuplicateLetters.cpp