前言
我们判断出栈的序列是否正确的时候,可能会采取枚举法一个一个试,看能不能使试出来这个序列的出栈顺序。这里有一个更简单的方法判断出栈的序列是否正确。
正文
1,问题举例
设输入序列为1、2、3、4、5、6,则通过栈的作用后可以得到的输出序列为( )。
A. 5,3,4,6,1,2
B. 3,2,5,6,4,1
C. 3,1,2,5,4,6
D. 1,5,4,6,2,3
大家可以想想问题的答案是什么?
正确答案是B,你不会是一个一个的想入栈和出栈的操作吧
2,解析
- 记住我的一句话,这道题其实很简单,**一个后来的出栈后,那么它前面的元素再出栈,不能以进栈的顺序出栈。
- 举A分析:A中5出栈了,只要看它前面的进栈的 1 2 3 4,看看他们是不是按着进栈的顺序出栈的,这里3 4和 1 2是按这进栈的顺序出的,所以该题错误。
- **推广:**可以将上面的数字,看成元素的进栈次序,来判断元素的出栈顺序是否正确。
给我点个赞是对我最大的鼓励!!!