逆波兰表达式求值(Evaluate Reverse Polish Notation)
来源:互联网 发布:ida pro 7.0 mac 编辑:程序博客网 时间:2024/05/17 07:17
问题描述:
逆波兰表达式求值,经典问题。
思路:
遇到数字入栈,遇到符号取栈顶的两个元素出来,再将结果入栈,最后栈里剩下的元素就是结果了。
实现代码:
class Solution {public: int evalRPN(vector<string>& tokens) { stack<int> st; for(auto &s:tokens){ if(s.length()>1 || isdigit(s[0])) st.push(stoi(s)); else{ int num1=st.top(); st.pop(); int num2=st.top(); st.pop(); if(s[0]=='+') num2+=num1; if(s[0]=='-') num2-=num1; if(s[0]=='*') num2*=num1; if(s[0]=='/') num2/=num1; st.push(num2); } } return st.top(); }};
0 0
- 【LintCode】Evaluate Reverse Polish Notation 逆波兰表达式求值
- 逆波兰表达式求值(Evaluate Reverse Polish Notation)
- Evaluate Reverse Polish Notation 逆波兰表达式
- LeetCode | Evaluate Reverse Polish Notation(逆波兰式求值)
- Evaluate Reverse Polish Notation--逆波兰式求值
- evaluate-reverse-polish-notation(逆波兰表示求值)
- 424.Evaluate Reverse Polish Notation-逆波兰表达式求值(中等题)
- Leetcode 150 Evaluate Reverse Polish Notation (求值逆波兰表达式)
- LeetCode-150. Evaluate Reverse Polish Notation (JAVA)逆波兰表达式求值
- 【LeetCode】Evaluate Reverse Polish Notation(逆波兰表达式求值) -(Linkedin) Medium ++
- leetcode Evaluate Reverse Polish Notation(计算逆波兰表达式)
- Java Evaluate Reverse Polish Notation(逆波兰表达式)
- [Leetcode] Evaluate Reverse Polish Notation 逆波兰表达式
- leetcode_2 Evaluate Reverse Polish Notation 逆波兰表达式
- LeetCode:150. Evaluate Reverse Polish Notation(逆波兰表达式)
- Java实现逆波兰表达式(Evaluate Reverse Polish Notation)
- 150. Evaluate Reverse Polish Notation 逆波兰表达式
- 逆波兰表达式(Reverse Polish Notation)
- Python logging 模块详解 -让你全部了解logging 模块的强大功能
- 一元二次方程根
- 重定向控制台程序的输入输出
- 杭电2524 矩形A + B
- opendaylight Lithium编译和代码导入eclipse
- 逆波兰表达式求值(Evaluate Reverse Polish Notation)
- XML基础总结2
- 简易计算器
- MFC学习笔记之CString
- [python]如何对字符串进行大小写转换
- 给出一棵二叉树的根节点和其中两个不同的节点求出它们最近的公共祖先节点
- 网络流Dinic模板
- 黑马程序员——15,String,StringBuffer,基本数据类型包装对象
- 【数据结构与算法】浅谈数据结构与算法