可以按照下面的方法来判断的:
假如入栈顺序为1234,给定一个出栈序列,如2431,它是合法的。
因为对于出栈序列中的每一个数字,在它后面的、比它小的所有数字,一定是按递减顺序排列的。
例如:
假如出栈序列为4123,显然不满足上述要求,因为对于4,它后面比它小的数字序列为123,递加,所以不是合法出栈序列。
若出栈为3142,也不合法,因为3后面比它小的1和2不是递减排列的。
若出栈为1234,则合法,因为对于每一个数字,它后面没有比它小的数字。
这种方法用来排除那些错误的出栈顺序很有效。对于这个方法我也没有进行过证明,可能对某些情况下的特殊序列会存在误判吧…不过至少现在我用它来做这种题都不会错的…呵呵
关于合法的出栈顺序
最新推荐文章于 2024-08-28 20:19:47 发布