判断用户出栈的数据是否合法
首先定义两个数组
1.首先判断入栈的数据和i游标所指向的数据是否相等,不相等就继续入栈
2.如果相等让头部元素出栈并且i++,再次进行对比
3.最后如果栈为空,那么就说明我们出栈的顺序是合法的
实现一个栈,要求实现入栈出栈,并且写一个算法返回最小值并且时间复杂度是o(1)
算法思路:
1.用辅助栈实现,入栈的时候,查询最小值是否为空,如果没有就把数据一块放入主栈和辅助栈当中
2.如果有的话就对比一下,如果辅助栈的栈顶元素小于数据,则把数据放入辅助栈
返回最小值
1.直接返回辅助栈的栈顶元素就是最小值
出栈
1.判断主栈和辅助栈栈顶元素是否相等,不相等主栈出栈,相等一起出栈