这类比较多的就是计算器,以及分析括号里的内容。例如解析 3[a]2[bc]这时候就可以在遇到[的时候把之前的东西都压到栈里,之后当遇到]的时候把内容再pop出来。

对于计算器,如果是后缀表达式的话,可以把结果都压到栈里,遇到运算符再pop出运算。有括号的话还是按括号的方法,主要要注意加法和乘法的区别。

还有一类题目就是问下一个比自己大的数还有多远,可以使用栈。栈里面存的都是比栈顶小的数,遇到比栈顶大的数n就可以弹出栈里的数j,因为这时我们可以知道比之前那个数j大的数在n了,更新之前那个数j的结果。

栈的作用存一个至今遇到的大值。栈底是最大的值,栈顶是至今遇到的大值里最小的。