写在前面:
有很多同学刚开始读题的时候,可能不太理解题意,觉得只能有一种答案{ E,D,C,B,A } 。但是题的关键在于栈的输入序列这几个字,实际上是指按这个顺序输入,但是入栈的过程中,也可以出栈(即可以边入栈,边出栈)。
详细解析如下:
Q:如果栈的输入序列为{A,B,C,D,E},则他的输出序列不可能是:
A:
(A)输出序列{ A,B,C,D,E }
选项(1)的方式为:A入栈,A出栈,B入栈,B出栈。。。。。。。
(B)输出序列{ E,D,C,B,A }
选项(B)的方式:A,B,C,D,E都入栈,再E,D,C,B,A出栈
(C)输出序列{ D,C,E,A,B }
选项 (C) 的方式是错误的,因为A不可能先出栈
(D)输出序列{ D,E,C,B,A }
选项(D)的方式:A,B,C,D入栈,然后D出栈,E入栈,然后E出栈,然后C,B,A出栈