代码随想录打卡第11天 | 150. 逆波兰表达式求值、239. 滑动窗口最大值、347. 前K个高频元素

150. 逆波兰表达式求值 链接:150. 逆波兰表达式求值 文章:代码随想录 视频:B站讲解 状态:⚠️ 第一想法 逆波兰表达式 逆波兰表达式: 逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。 平常使用的算式则是一种中缀表达式,如 ( 1 + 2 ) * ( 3 + 4 ) 。 该算式的逆波兰表达式写法为 ( ( 1 2 + ) ( 3 4 + ) * ) 。 逆波兰表达式主要有以下两个优点: 去掉括号后表达式无歧义,上式即便写成 1 2 + 3 4 + * 也可以依据次序计算出正确结果。 适合用栈操作运算:遇到数字则入栈;遇到算符则取出栈顶两个数字进行计算,并将结果压入栈中 看完题解后的想法 —— 实现中遇到的困难 注意第一次出栈的是右操作数,第二次出栈的是左操作数; 代码 class Solution { public: int evalRPN(vector<string>& tokens) { stack<int> st; for (string& t : tokens) { if (t == "+" || t == "-" || t == "*" || t == "/") { int a = st.top(); st.pop(); int b = st.top(); st.pop(); if (t == "+") { st.push(b + a); } else if (t == "-") { st.push(b - a); } else if (t == "*") { st.push(b * a); } else { st.push(b / a); } } else { st.push(stoll(t)); } } return st.top(); } }; 239. 滑动窗口最大值 链接:239. 滑动窗口最大值 文章:代码随想录 视频:B站讲解 状态:⚠️ 第一想法 老员工比新员工菜就优化,老员工大于35也优化 ...

March 14, 2026 · KahanaT800