Leetcode 150 Evaluate Reverse Polish Notation
来源:互联网 发布:支付宝淘宝霸王条款 编辑:程序博客网 时间:2024/05/17 07:11
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逆波兰表达式,栈的应用
注意减和除的两个数哪个在前,哪个在后
这题的数据不够卡,如果最后结果是int,但是中间也可以溢出啊,写的时候突然想到,懒得改就浪交了,居然过了。
class Solution {public: int toint(string s) { int res = 0,i = 0; if(s[0] == '-') i = 1; for(; i < s.size(); i++) { res *=10; res += s[i]-'0'; } return s[0] == '-' ? -res : res; } int evalRPN(vector<string>& tokens) { stack<int> s; for(int i = 0; i < tokens.size(); i++) { int a, b; if(tokens[i] == "+") a = s.top(), s.pop(), b = s.top(), s.pop(), s.push(a+b); else if(tokens[i] == "-") a = s.top(), s.pop(), b = s.top(), s.pop(), s.push(b-a); else if(tokens[i] == "*") a = s.top(), s.pop(), b = s.top(), s.pop(), s.push(a*b); else if(tokens[i] == "/") a = s.top(),s.pop(), b = s.top(), s.pop(), s.push(b/a); else s.push(toint(tokens[i])); } return s.top(); }};
1 0
- LeetCode 150 Evaluate Reverse Polish Notation
- LeetCode: Evaluate Reverse Polish Notation [150]
- LeetCode(150) Evaluate Reverse Polish Notation
- [leetcode 150] Evaluate Reverse Polish Notation
- [LeetCode 150]Evaluate Reverse Polish Notation
- Leetcode 150:Evaluate Reverse Polish Notation
- Evaluate Reverse Polish Notation - LeetCode 150
- LeetCode---(150)Evaluate Reverse Polish Notation
- [Leetcode 150, Medium] Evaluate Reverse Polish Notation
- leetcode[150]:Evaluate Reverse Polish Notation
- LeetCode(150) Evaluate Reverse Polish Notation
- [leetcode-150]Evaluate Reverse Polish Notation(c++)
- leetcode 150: Evaluate Reverse Polish Notation
- 【leetcode】No.150 Evaluate Reverse Polish Notation
- LeetCode(150) Evaluate Reverse Polish Notation
- LeetCode 150 Evaluate Reverse Polish Notation
- leetcode(150):Evaluate Reverse Polish Notation
- Leetcode 150 Evaluate Reverse Polish Notation
- JSP-一个ckeditor实现
- 【STL】list的应用模拟实现
- c语言指针总结(详细)
- Ajax总结
- 第六章-无线传感网定位技术
- Leetcode 150 Evaluate Reverse Polish Notation
- JAVA学习笔记之正则表达式
- leetcode--remove_element
- 关于浏览器内核你不得不了解的事
- 多级反向代理下,Java获取请求客户端的真实IP地址多中方法整合
- 天气预报软件设计
- jQuery插件Validate实现自定义校验结果样式
- 《0Day安全》之堆溢出
- Connection-通过MysqlDriver建立与mysql数据库的连接