Leetcode--Evaluate Reverse Polish Notation
2014-10-01 22:15
281 查看
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:
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
<span style="color:#333333;">class Solution { public: int evalRPN(vector<string> &tokens) { stack<int> stk; int len=tokens.size(); if(len<=0) return 0; else if(len==1) return atoi(tokens[0].c_str()); for(int i=0;i<len;i++) { if(tokens[i][0]>='0'&&tokens[i][0]<='9') stk.push(atoi(tokens[i].c_str())); else if(tokens[i][0]=='-'&&tokens[i].size()>1)//</span><span style="color:#ff0000;">特别注意区分负数和负号</span><span style="color:#333333;"> stk.push(atoi(tokens[i].c_str())); else if(tokens[i][0]=='+'||tokens[i][0]=='-'||tokens[i][0]=='*'||tokens[i][0]=='/'){ int op1=stk.top(); stk.pop(); int op2=stk.top(); stk.pop(); switch(tokens[i][0]){ case '+': stk.push(op2+op1);break; case '-': stk.push(op2-op1);break; case '*': stk.push(op2*op1);break; case '/': stk.push(op2/op1);break; } } } return stk.top(); } };</span>
相关文章推荐
- [LeetCode] 150. Evaluate Reverse Polish Notation
- leetcode之Evaluate Reverse Polish Notation
- [LeetCode]150 Evaluate Reverse Polish Notation
- [LeetCode] Evaluate Reverse Polish Notation, Solution
- LeetCode_Stack_Evaluate Reverse Polish Notation
- Leetcode - Evaluate Reverse Polish Notation
- leetcode150 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
- 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
- LeetCode Evaluate Reverse Polish Notation
- [LeetCode]Evaluate Reverse Polish Notation