剑指offer--面试题30:包含min函数的栈
2017-08-10 15:27
393 查看
#include<iostream.h>
#include<stack>
using namespace std;
class Solution
{
public:
stack<int> st, minSt;//st表示存储元素的栈,minSt保存每次栈操作时,保存栈中最小元素
void push(int value) ;
void pop() ;
int min() ;
};
void Solution::push(int value)
{
st.push(value);
if (minSt.empty()||value < minSt.top())
minSt.push(value);
else
minSt.push(minSt.top());
return;
}
void Solution::pop()
{//出栈时,需要对两个栈st和minSt同时操作
if (!st.empty())
{
st.pop();
minSt.pop();
}
return;
}
int Solution::min()
{
if (!minSt.empty())
{
return minSt.top();
}
return 0;
}
void main()
{
Solution s;
s.push (2);
s.push (3);
s.push (1);
s.push (7);
s.push (0);
s.push (13);
s.pop();
s.pop();
s.pop();
printf("当前最小栈内元素为:%d\n",s.min());
}
相关文章推荐
- 【剑指offer】面试题30:包含min函数的栈
- 【剑指Offer面试题】 九度OJ1522:包含min函数的栈
- 【剑指offer】面试题21:包含min函数的栈
- 剑指offer面试题21 包含min函数的栈
- 剑指Offer之面试题21:包含min函数的栈
- 剑指Offer:面试题21——包含min函数的栈(java实现)
- 剑指offer-第四章解决面试题的思路(包含min函数的栈)
- 【剑指offer】面试题 30:包含 min 函数的栈
- 剑指offer_面试题21_包含min函数的栈
- 剑指offer面试题[21]包含min函数的栈
- 剑指offer——面试题21:包含min函数的栈(泛型编程,一个巧妙的思维)
- 【剑指offer】面试题21:包含min函数的栈
- 剑指offer代码解析——面试题21包含min函数的栈
- 剑指offer面试题21:包含min函数的栈
- 剑指offer-面试题21-包含min函数的栈
- 剑指Offer_面试题21_包含min函数的栈
- 剑指offer代码解析——面试题21包含min函数的栈
- 剑指offer 面试题21 包含min函数的栈
- 【面试题】剑指Offer-21-包含Min函数的栈
- 剑指offer 面试题21:包含min函数的栈