例如:有入栈顺序ABCDE,列出所有不可能的出栈序列。
首先列出一些出栈序列,找出其中不可能的序列,观察其中的规律。
例如: D B E A C这个就是不可能的。
C A B E D这个也是不可能的。
C D E B A这个就是可以的。
通过观察,满足如下规律的是可能的序列:
在它后面的,比它先入栈的,需要在此后倒序排列(默认入栈是正序排列)。
或者说:
后入栈的出栈后,比它先入栈的但还没出栈的一定是倒序排列在它后面。
否则,就是不可能的序列,可以使用穷举的方式,列出所有的情况,然后根据如上规律进行判断,列出所有的不可能的序列。