参考资料:
- 夏广成的简书博客:https://www.jianshu.com/p/e91cdf745048
- 牛客专项训练
例题展示:
设有四个元素A、B、C、D顺序进栈,在进栈过程中可以出栈,出栈次序错误的排列是:
- ABCD
- DCBA
- ACBD
- BCDA
- ACDB
- DCAB
分析:
- A进A出,B进B出,C进C出,D进D出。
- ABCD依次进入,DCBA依次输出。
- A进A出,BC进CB出,D进D出。
- A进,B进B出,C进C出,D进D出,A出。
- A进A出,B进,C进C出,D进D出,B出。
总结:如果这种题目做得多,会发现能够说出正确选项的入栈、出栈顺序。
规律总结
以下规律根据夏广成的博客总结:
选项中根据一个元素分析排在它后面的元素,找出在原序列中排在比它前的元素,这些元素的次序与原序列相比必须是相反的。
夏广成的博客用以下例子分析:
如果abcdef顺序入栈,那么下面不可能出现的出栈顺序是:
A:fedcba
B:dcbaef // abcd入栈,dcba依次出栈,e入栈,e出