判断一个出栈序列是否合法

1780阅读 0评论2011-09-05 chenmo69
分类:C/C++

编程题:给定一个入栈序列,判断一个出栈序列是否合法。比如入栈序列是12345,54321是合法的出栈序列之一。
感觉是栈的特殊性,一旦进栈后栈内数字出栈的顺序就定了,所以出栈序列中后面的数如果比前面的小的话,必须按顺序排列
线性时间的话,就是从头扫描出栈序列,记录出现的最大值,如过后面的值比他小则必须是递减序列,如果比他大则更新最大值,继续扫描,扫描一遍即可,
上一篇:vim 设置自动对齐
下一篇:人口比例问题