今天没刷力扣,刷了晴问算法的三道栈的题目。算是加强了对栈的运用吧。stack stack stack!
1.第一个是栈的操作序列。没啥难度。读入一条指令,判断指令类别,对栈进行操作即可。注意出栈时要检查栈是否为空。
2.第二个是判断一个序列是否是合法的出栈序列。用一个栈来模拟出栈入栈即可。最后如果栈为空说明序列正确 否则不正确。
3.第三个是求出所有可能的出栈序列。用dfs解决。用一个vector来储存出栈序列。每一个状态我们可以选择出栈,也可以选择进栈。递归终止条件是当前出栈元素的数量等于n,即全部出栈,输出vector并返回。
总结:感觉dfs终止条件还有剪枝写的不太利索,慢慢来,题还是要多刷