真正的单纯栈的题感觉不多,一般都是在一道题里面处理一些数据的时候会用到,队列什么的也是。
特别理解栈的性质,先进后出FILO。
由这个性质可以解决很多先进后出的问题,在模拟题里面也很多用到的。
最典型最基本的应用是计算运算表达式和括号匹配。
理解这个之后要扩展也就变得容易了,凡是类似括号匹配的都可以用栈来处理了。
比如昨天哈尔滨热身赛的1006。
Poj 1363 问一个序列用1~n数字顺序进栈出栈能否得到。
顺便写个,1234的进栈序列可以得到多少不同出栈序列,就是n个进栈操作和n个出栈操作的不同排列数,Catalan数h(n)=C(2n,n)/(n+1)
这题写一个栈直接看给出的序列能否得到就好了。
Poj 3250
一个用栈实现的单调队列。
Poj 1472
用到栈的模拟题
为了编码能力,以后还是都手写吧~