leetcode 日经贴,Cpp code -Evaluate Reverse Polish Notation
2015-04-22 16:27
507 查看
Evaluate Reverse Polish Notation
class Solution { public: int a2i(const string &s) { int n = 0, neg = 1; for (int i = 0; i < s.length(); ++i) { if (s[i] == '-' && i == 0) { neg = -1; } else { n = n * 10 + int(s[i] - '0'); } } return neg * n; } int evalRPN(vector<string>& tokens) { stack<int> st; for (int i = 0; i < tokens.size(); ++i) { if (tokens[i].length() > 1 || (tokens[i][0] >= '0' && tokens[i][0] <= '9')) { st.push(a2i(tokens[i])); } else { int b = st.top(); st.pop(); int a = st.top(); st.pop(); int c = 0; if (tokens[i] == "+") { c = a + b; } else if (tokens[i] == "-") { c = a - b; } else if (tokens[i] == "*") { c = a * b; } else if (tokens[i] == "/") { c = a / b; } st.push(c); } } return st.top(); } };
相关文章推荐
- LeetCode: Evaluate Reverse Polish Notation
- 【Leetcode】Evaluate Reverse Polish Notation JAVA
- Evaluate Reverse Polish Notation(LeetCode)
- 【Leetcode-medium-150】Evaluate Reverse Polish Notation
- Leetcode (10) Evaluate Reverse Polish Notation (计算逆波兰表示法多项式)
- 【LeetCode with Python】 Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation
- LeetCode Evaluate Reverse Polish Notation
- [LeetCode] 150. Evaluate Reverse Polish Notation
- LeetCode 2 Evaluate Reverse Polish Notation
- 【leetcode】Evaluate Reverse Polish Notation
- LeetCode--evaluate-reverse-polish-notation
- leetcode之Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation, Solution
- [LeetCode][JavaScript]Evaluate Reverse Polish Notation
- leetcode150 Evaluate Reverse Polish Notation
- leetcode day1 -- Reverse Words in a String && Evaluate Reverse Polish Notation && Max Points on a Li
- leetcode-150. Evaluate Reverse Polish Notation
- [leetcode-150]Evaluate Reverse Polish Notation(c++)
- LeetCode–Evaluate Reverse Polish Notation