最近遇到一道笔试题
给出入栈序列为A,B,C,D,E,可能的出栈序列
1.ABCDE
2.EDCBA
3.DECBA
4DCEAB
看到这个题,我的第一感觉就是先进后出,结果应该唯一啊
后来在网站上搜了一下,发现果然存在问题,问题出在入栈可能不是一次性进去。
也就是说A进入后,可能直接就出栈了,然后A就是第一个出栈的元素。
而如果B第一个出栈,代表A还在栈中;
以此类推,如果D先出栈,则ABC还在栈中,即可能出现DECBA,DCBAE等情况,
他们有个特点就是CBA的顺序不能变,而E可以随意插入(在D后面)
明显只有4出错