网站运营与推广计划书怎么做,wordpress time,苏州seo排名,网站设计平台及开发工具#x1f4d8;北尘_#xff1a;个人主页 #x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上#xff0c;不忘来时的初心 文章目录 一、最小栈1、题目讲解2、思路讲解3、代码实现 二、栈的压入、弹出序列1、题目讲解2、思路讲解… 北尘_个人主页 个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上不忘来时的初心 文章目录 一、最小栈1、题目讲解2、思路讲解3、代码实现 二、栈的压入、弹出序列1、题目讲解2、思路讲解3、代码实现 三、逆波兰表达式求值1、题目讲解2、思路讲解3、代码实现 一、最小栈
1、题目讲解 2、思路讲解 3、代码实现
class MinStack {
public:MinStack() {}void push(int val) {st.push(val);if(minst.empty() || st.top()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();}stackint st;stackint minst;
};二、栈的压入、弹出序列
1、题目讲解 2、思路讲解 3、代码实现
bool IsPopOrder(vectorint pushV, vectorint popV) {stackint s;int pushi0,popi0;for(auto ch:pushV){s.push(pushV[pushi]);pushi;while(!s.empty() s.top()popV[popi]){s.pop();popi;}}return s.empty();}三、逆波兰表达式求值
1、题目讲解 2、思路讲解 3、代码实现
class Solution {
public:int evalRPN(vectorstring tokens) {stackint s;for(auto ch:tokens){if(ch || ch- || ch* || ch/ ){int rights.top();s.pop();int lefts.top();s.pop();switch(ch[0]){case :s.push(leftright);break;case -:s.push(left-right);break;case *:s.push(left*right);break;case /:s.push(left/right);break; }}else{s.push(stoi(ch));}}return s.top();}
};