话不多说,下面是题目
现有一个空栈c和一个正整数n,将1,2,3,...,n1,2,3,...,依次入栈,期间任意时刻出栈。然后给定一个出栈序列,问其是否是一个合法的出栈序列。
输入的要求是
第一行一个整数n(1≤n≤100),表示需要入栈的整数个数;
第二行为[1,n]的一个排列,表示一个出栈序列,整数间用空格隔开。
输出则要求输出成功为yes,失败为NO,
下面有个小tips:
初始时栈为空,即[]
。接下来按下面的顺序执行即可得到出栈序列3 2 4 1
:
1.1
入栈,此时栈为[1]
;
2.2
入栈,此时栈为[1,2]
;
3.3
入栈,此时栈为[1,2,3]
;
4.3
出栈,此时栈为[1,2]
;
5.2
出栈,此时栈为[1]
;
6.4
入栈,此时栈为[1,4]
;
7.4
出栈,此时栈为[1]
;
8.1
出栈,此时栈为[]
。
代码如下:
#include