给定4个元素A,B,C,D依次入栈,为什么出栈顺序可以是ADCB和BDCA

2025-04-05 15:31:56
推荐回答(1个)
回答1:

这个题要换个角度思考,题目只说A、B、C、D依次入栈,但并没有说中途不允许出栈。
1、ADCB的出栈原因是这样的:
第一步:A入栈,紧接着A出栈;
第二步:B入栈,C入栈,D入栈,然后再依次出栈,即DCB依次出栈;
综上所述出栈顺序就是ADCB,可以发现并没有破坏ABCD的进栈顺序。
2、BDCA的出栈原因是这样的:
第一步:AB依次入栈,然后B出栈;
第二步:CD依次入栈,这样栈里元素由顶到底依次位DCA,全部出栈则位DCA;
综上所述出栈顺序可以是BDCA,可以发现也没有破坏ABCD的进栈顺序。