判断一个序列是否是另外一个序列的出栈序列
在各种刷题网站上刷题时,如果刷的是单选题的话,常常会遇到这样一个问题:
如果进栈序列为1,2,3,4,则可能的出栈序列是()
注:一个元素进栈后可以马上出栈,不用等全部进栈
正确答案: B C
A.3,1,4,2
B.2,4,3,1
C.2,3,4,1
D.任意顺序都有可能
如果单纯的做选择题的话,是挺简单的,一个选项一个选项的对比,观察是否能够通过进栈序列进栈得到
但是如果用代码实现呢?个人感觉,第一次想这个问题的时候是比较头疼的,但是在思索一番之后,还是敲出来了,话不多说,直接上代码:
/**
* 判断一个序列是另外一个序列的出栈序列
* @param src 源序列
* @param out 判断的序列
* @return
*/
private static boolean isOut(int[] src,int[] out){