150. Evaluate Reverse Polish Notation(逆波兰式)
来源:互联网 发布:社交网络利大于弊问题 编辑:程序博客网 时间:2024/05/17 06:25
题目链接:https://leetcode.com/problems/evaluate-reverse-polish-notation/
题意:
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++11中新加的几个库函数。to_string函数,这是C++11新增的,使用非常方便,简单查了下:C++11标准增加了全局函数std::to_string,以及std::stoi/stol/stoll等等函数(这几个就是string转int,long,以及long long啦~)
to_string这个函数还是很强大的!
string to_string (int val);string to_string (long val);string to_string (long long val);string to_string (unsigned val);string to_string (unsigned long val);string to_string (unsigned long long val);string to_string (float val);string to_string (double val);string to_string (long double val)
class Solution {public: int evalRPN(vector<string>& tokens) { stack<string> s; for(auto token:tokens){ if(!is_operator(token)){ s.push(token); } else{ int y = stoi(s.top()); s.pop(); int x = stoi(s.top()); s.pop(); if(token[0]=='+') x+=y; else if(token[0]=='-') x-=y; else if(token[0]=='*') x*=y; else x/=y; s.push(to_string(x)); } } return stoi(s.top()); }private: bool is_operator(const string &op){ return op.size()==1 && string("+-*/").find(op)!= string::npos; }};
0 0
- 150. Evaluate Reverse Polish Notation 逆波兰式
- 150. Evaluate Reverse Polish Notation(逆波兰式)
- Evaluate Reverse Polish Notation 逆波兰表达式
- 波兰式解析Evaluate Reverse Polish Notation
- LeetCode:150. Evaluate Reverse Polish Notation(逆波兰表达式)
- 栈&逆波兰150. Evaluate Reverse Polish Notation
- 150. Evaluate Reverse Polish Notation 逆波兰表达式
- 计算逆波兰式 Evaluate Reverse Polish Notation
- LeetCode | Evaluate Reverse Polish Notation(逆波兰式求值)
- 计算逆波兰式 (Evaluate Reverse Polish Notation)
- Evaluate Reverse Polish Notation--逆波兰式求值
- leetcode Evaluate Reverse Polish Notation(计算逆波兰表达式)
- Java Evaluate Reverse Polish Notation(逆波兰表达式)
- [Leetcode] Evaluate Reverse Polish Notation 逆波兰表达式
- leetcode_2 Evaluate Reverse Polish Notation 逆波兰表达式
- 【LintCode】Evaluate Reverse Polish Notation 逆波兰表达式求值
- 逆波兰表达式求值(Evaluate Reverse Polish Notation)
- evaluate-reverse-polish-notation(逆波兰表示求值)
- asp.net课程设计——新闻发布系统
- 对于algorithm101的总结
- 史上最简单的MVP模式
- 二叉查找树待改
- 任意进制转换
- 150. Evaluate Reverse Polish Notation(逆波兰式)
- JavaScript 误区
- mvc(composer加载)
- HDU 1227 Fast Food DP *
- HDU Triangle 2016中国大学生程序设计竞赛(长春)-重现赛
- 经典的BM算法
- 5.使用 公众平台测试账号 进行开发(微信公众号开发实战)
- 5.使用 公众平台测试账号 进行开发(微信公众号开发实战)
- 工欲善其事,必先利其器之键盘与windows改键