题21

题目

若栈的输入序列是 ,输出序列是 ,若 ,则 的值 ( ) .
A. 可能是 2
B. 不可能是 1
C. 一定是 1
D. 一定是 2

分析

p1可能是1,可以直接p1进来了,然后弹出去
也可是p5是1,p5进来弹出去,再把p5下面的p4=2弹出去
p1是2的话,p2是1,p2进来以后弹出去,然后再弹出p1,也即是2,再把p3入栈,再弹出去p3,也就是123的出栈了

A
假设 是 1,进栈后立即出栈, 是 2,进栈后立即出栈, 是 3,进栈后立即出栈,得到的序列符合题意。
假设 依次进栈后全部出栈, 是 3,进栈后立即出栈, 得到的序列符合题意。
因此, 既可能是 1,又可能是 2 。