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