那么从本期文章开始,会尽量带大家一起刷题
第一题
题目
关键词
思路
源代码
class MinStack {
public:
void push(int val) {
_st.push(val);
if(_minst.empty() || val <= _minst.top())
{
_minst.push(val);
}
}
void pop() {
if(_st.top() == _minst.top())
{
_minst.pop();
}
_st.pop();
}
int top() {
return _st.top();
}
int getMin() {
return _minst.top();
}
private:
stack<int> _st;
stack<int> _minst;
};
题目链接
155. 最小栈 - 力扣(LeetCode)
第二题
题目
思路
这里还有最重要的一点就是出栈后千万别忘了删除哦
源代码
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param pushV int整型vector
* @param popV int整型vector
* @return bool布尔型
*/
bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
// write code here
size_t posi = 0;
stack<int> _st;
for(auto cur: pushV)
{
_st.push(cur);
while(!_st.empty() && _st.top() == popV[posi])
{
_st.pop();
posi++;
}
}
return _st.empty();
}
};
那么本篇文章的内容就先到这里,我们下期见