题目的意思是给出一组数,问你是不是一组合法的出栈序列。
我有两个思路:
1、每个已出栈之后的数且小于此数的数都必须按降序排列。复杂度O(n^2)
2、另一个思路就是直接模拟入栈出栈过程。虽然模拟毫无技巧可言,但复杂度O(n),优于算法1。
1
2
#include <cstdio>
3
4
int stack[1005]; //栈
5
int stack_len; //栈顶位置
6
7
int main()
8
2
3
4
5
6
7
8