leetcode Evaluate Reverse Polish Notation
来源:互联网 发布:php 解析html 编辑:程序博客网 时间:2024/06/04 17:56
原题链接:https://leetcode.com/problems/evaluate-reverse-polish-notation/
Description
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
class Solution {public: inline bool is_digit(char ch) { return ch >= '0' && ch <= '9'; } int evalRPN(vector<string>& tokens) { stack<int> A; int a, b; size_t n = tokens.size(); for (size_t i = 0; i < n; i++) { int v = 0; if (is_digit(tokens[i][0]) || tokens[i].length() > 1) { bool f = tokens[i][0] == '-'; size_t j, k = tokens[i].size(); for (j = f ? 1 : 0; j < k; j++) v = v * 10 + tokens[i][j] - '0'; A.push(f ? -v : v); } else { char &ch = tokens[i][0]; a = A.top(); A.pop(); b = A.top(); A.pop(); switch (ch) { case '+': A.push(a + b); break; case '-': A.push(b - a); break; case '*': A.push(a * b); break; case '/': A.push(b / a); break; } } } return A.top(); }};
0 0
- Evaluate Reverse Polish Notation | leetcode
- leetcode-Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- LeetCode - Evaluate Reverse Polish Notation
- LeetCode | Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- Leetcode: Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation (LeetCode)
- leetcode: Evaluate Reverse Polish Notation
- Leetcode Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation -- LeetCode
- 【LeetCode】Evaluate Reverse Polish Notation
- LeetCode-Evaluate Reverse Polish Notation
- LeetCode:Evaluate Reverse Polish Notation
- LeetCode Evaluate Reverse Polish Notation
- Leetcode:Evaluate Reverse Polish Notation
- Scala IED For Eclipse
- 数据结构实验之查找三:树的种类统计
- 【智能路由器】动态域名(基于netfilter编程的DNS数据伪造)
- oracle忘记sys密码
- Linux中查看转换文件编码
- leetcode Evaluate Reverse Polish Notation
- QT5 检测 usb设备插拔
- 使用xcode storyboard设置按钮圆角方法
- linux 安装 7-Zip
- 阅读《驯服烂代码》
- Genymotion
- python爬取网易评论
- Javascript--typeof
- Spring-hibernate-事务处理详解及案例<六>