包含min函数的栈
Posted Lune-Qiu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包含min函数的栈相关的知识,希望对你有一定的参考价值。
题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
思路:借助一个辅助栈,压入时判断辅助栈是否为空或者要压入的元素比栈顶元素小,弹出是判断,要弹出元素是否为辅助栈栈顶,是则弹出。min函数则是返回辅助栈栈顶元素。
代码:
class Solution { private: stack<int> sta; stack<int> minsta; public: void push(int value) { if(minsta.empty()||value < minsta.top()) { minsta.push(value); } sta.push(value); } void pop() { if(sta.top() == minsta.top()) { minsta.pop(); } sta.pop(); } int top() { return sta.top(); } int min() { return minsta.top(); } };
以上是关于包含min函数的栈的主要内容,如果未能解决你的问题,请参考以下文章