判断元素出栈、 入栈顺序的合法性。 如: 入栈的序列(1,2,3,4,5) , 出栈序列 是(4,5,3,2,1) 是合法序列, 入栈的序列(1,2,3,4,5) , 出栈序列为(1,5,3,2,4) 是不合法序列
我的解题思路:创建一个辅助栈来模拟入栈与出栈过程,从而判断其入栈、出栈顺序是否合法。定义两个数组In与Out分别存储入栈序列与出栈序列,然后将入栈序列的第一个元素压入辅助栈,然后取栈顶元素,与出栈的第一个元素进行比较,如果不相等,则继续 讲In中的后序元素压入栈中,直到相等时,将辅助栈中元素pop,并且将出栈序列的后序元素进行比较。如果最后将出栈序列的元素已经比较完,并且辅助栈为空则出入栈合法。我用图简