若一个栈的初始状态为空,现有元素序列[1, 2, 3]依次入栈,则下列哪个是合法的出栈序列?
答案解析
核心考点:栈的后进先出(LIFO)特性。
解题思路:元素的出栈顺序必须与入栈顺序相反或者部分反向。出栈必须遵循栈顶先出的原则。
选项分析:
A. [3, 1, 2]:错误。3先出栈,栈中剩下2,1,那么1不可能在2之前出栈。
B. [3, 2, 1]:正确。元素3入栈,出栈;元素2入栈,出栈;元素1入栈,出栈,符合栈的特性。
C. [1, 3, 2]:错误。1先出栈,说明此时栈中只有1,后面不可能直接出3,必须先2入栈才能出栈3。
D. [1, 2, 3]:错误。这种顺序相当于先进先出。
易错点:理解栈的LIFO原则,出栈顺序取决于入栈的顺序,且必须从栈顶开始出栈。
正确答案:B