如何快速解决出栈入栈问题
1、入栈顺序 1 2 3 4 5 假设出栈顺序是 4 2 1 5 3 判断是否正确
我们用常规的方法来判断
2、4第一个出栈,表明1 2 3 已经入栈
2第二个出栈,但是1 2 3 已经入栈,必须等3出栈2才有机会入栈
所以本序列不成立
3、其实我们可以用更简单的方法
4 2 1 5 3
4 后面的顺序必须为 3 2 1 中间插数字也可以 3 5 2 1 也可以 但是必须顺序为
3 2 1 否则不成立
如果4前面的数字用到 3 2 1 的数字则 删去这个数字 例如 3 4 2 1 5
4后面应该是 3 2 1 但是 3 已经用去 所以后面的顺序必然是 2 1
同理 2 4 3 1 5 2已经用去 4后面的顺序必然是 3 1
4、例子 : 2 4 3 1 5
2后面 必然是 1 符合要求
4 后面 必然是 3 2 1 2用去 顺序是 3 1 符合要求
3后面 必然是 2 1 2用去 顺序是 1 符合要求
1后面 无要求 符合要求
5最后一个 必然是 4 3 2 1 前面全用完 符合yaoqiu
所以 2 4 3 1 5 符合要求
5、例子2 : 3 1 5 2 4
3后面 必然是 2 1 后面是 1 2 不符合要求 直接判断 不符合要求
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:33
阅读量:101
阅读量:142
阅读量:71
阅读量:192