【牛客网】剑指offer编程题:包含min函数的栈(C++)
解题思路:设置 主栈(stack1),最小元素栈(stack2),保持stack2 的栈顶元素始终是栈中的最小元素。
入栈原则:
1、先入主栈 stack1;
2、如果最小元素栈 stack2 为空栈, value 入栈;如果最小元素栈 stack2 不为空栈,比较 value 与 stack2 栈顶元素的大小,小于栈顶元素,则 value 入栈。(保持栈顶元素为当前最小元素)。
出栈原则:
如果要出栈的元素与是当前最小元素,那么最小元素栈 stack2 也要做出相应的操作,弹出栈顶元素。