记录自己的做题历程。我们的目标是!代码越简洁越好!消耗资源越少越好!考虑情况越多越好!
目录
设计getMin功能的栈
#include<cstdio>
#include<iostream>
#include<cstring>
#include<stack>
using namespace std;
stack<int> st1,stmin;
int main()
{
int n,num;
string s;
cin>>n;
for(int i = 0 ;i < n; i++)
{
cin>>s;
if(s == "push")
{
cin>>num;
st1.push(num);
if(!stmin.empty())
{
int tmp = stmin.top();
if(num <= tmp)
stmin.push(num);
}
else
stmin.push(num);
}
else if(s == "pop")
{
int tmp2 = st1.top();
st1.pop();
if(tmp2 == stmin.top())
stmin.pop();
}
else if(s == "getMin")
{
if(!stmin.empty())
cout << stmin.top()<<endl;
else
cout<<"null"<<endl;
}
}
return 0;
}