evaluate-reverse-polist-notation leetcode C++
2024-10-17 06:59:34
Evaluate the value of an arithmetic expression in Reverse Polish Notation.
Valid operators are+,-,*,/. Each operand may be an integer or another expression.
Some examples:
- ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9
- ["4", "13", "5", "/", "+"] -> (4 + (13 / 5)) -> 6
C++
class Solution {
public:
int evalRPN(vector<string> &tokens){
int len = tokens.size();
stack<int> S;
for (int i = 0; i< len; i++){
if ("+" == tokens[i] || "-" == tokens[i] || tokens[i] == "*" || tokens[i] == "/"){
int arg2 = S.top(); S.pop();
int arg1 = S.top(); S.pop();
S.push(runOperator(arg1,arg2,tokens[i][0]));
}else
S.push(stoi(tokens[i]));
}
return S.top();
}
int runOperator(int arg1,int arg2,char optor){
if('+' == optor) return arg1 + arg2;
else if('-' == optor) return arg1 - arg2;
else if('*' == optor) return arg1 * arg2;
else return arg1 / arg2;
}
};
最新文章
- .Net Core 跨平台系列之环境部署
- 《JavaScript高级程序设计》读书笔记--(3)引用类型
- 嵌入式: jffs2,yaffs2,logfs,ubifs文件系统性能分析
- Arduino101学习笔记(三)&mdash;&mdash; 101简介
- JVM性能监控与故障处理命令行工具
- Runnable和Thread的区别 (转)
- html标签marquee实现走马灯效果(文字浮动)
- Discuz X2.5 用户名包含被系统屏蔽的字符[解决方法]
- hexo博客部署到github无法上传的问题
- python学习教程(九)sqlalchemy框架的modern映射
- SAE php 研究(2)
- 对C# 中Readonly的再认识
- 【Halum操作-UVA 11478】
- WPF DataGrid分页功能实现代码
- Nginx 修改用户权限
- Android测试(三):本地单元测试
- svn 的truck、tag、 merge
- 【RestTemplete】使用RestTemplete传Json或者 {} 报错--解决
- MyBatis 源码分析 - 映射文件解析过程
- (4) MySQL中EXPLAIN执行计划分析