一个栈的入栈序列为ABCDEF,则不可能的出栈序列是

技术之瞳 阿里巴巴技术笔试心得习题2.65:

一个栈的入栈序列为ABCDEF,则不可能的出栈序列是(D)
  A、DEFCBA    
  B、DCEFBA    
  C、FEDCBA
  D、FECDBA    
  E、ABCDEF    
  F、ADCBFE

分析:
  该题主要是考虑栈的核心思想是先进后出,并且需要注意入栈和出栈的顺序是未知的,例如你可以先入栈ABCD,然后出栈D,然后入栈E,出栈E,入栈F,出栈F,然后CBA依次出栈,也就是A选项的情况。
  
  这里有一规律可记
  任何出栈的元素后面出栈的元素必须满足以下三点:
  1、在原序列中相对位置比它小的,必须是逆序;
  2、在原序列中相对位置比它大的,顺序没有要求;
  3、以上两点可以间插进行。

我们再看选项D的出栈顺序FECDBA,明显出栈元素F后面的元素C和D不满足上面规律1,所以选项D是错误的,其它答案都是满足的。

发布了137 篇原创文章 · 获赞 44 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_38769551/article/details/105127191