出栈序列问题

今天看到了一道题目,进栈顺序为1,2,3,写出所有可能出站序列。
我就想着1,2,3进去不是只有321一种可能吗?一看答案是有5种,然后就很蒙蔽。搜啊搜,发现了问题所在,即不一定是一起进栈然后一起退栈的,这两部是可以同时进行的。
比如:
1入 出栈顶 2,3入 出全部 得到 1 3 2
1入 出栈顶 2入 出栈顶 3入 出栈顶 得到 1 2 3
1 2 3入 出全部 得到3 2 1
1 入 2入 出栈顶 3入 出全部 得到 2 3 1
1 入 2入 出全部 3入 3出 得到 2 1 3
还有个序列 3 1 2 是不可能的 因为 3 先出了 说明 1 2 已经压在栈里了,没有提前推出的,出来顺序只能是21,12是不可能的。
其实就是应该着重去考虑是谁先出的栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值