leetcode Evaluate Reverse Polish Notation
来源:互联网 发布:mac调整鼠标大小 编辑:程序博客网 时间:2024/06/05 15:45
逆波兰式的求解,主要注意的问题就是,输入的是string数组,需要将表示数值的 string转化成int,然后特别要注意的是负数的转化。剩下的利用栈这一数据结构便可求解。
class Solution {public: int evalRPN(vector<string> &tokens) { stack<int> numstack; int n = tokens.size(); int num1 = 0, num2 = 0; for(int i = 0 ; i < n; i++) { if(tokens[i][0] <= '9' && tokens[i][0] >= '0' || tokens[i].size() > 1) { num1 = 0; int m = tokens[i].size(); int k = 0; bool isNegative = false; if(tokens[i][0] == '-') { k = 1; isNegative = true; } for(; k < m; k++) { num1 = num1 * 10 + tokens[i][k] - '0'; } if(isNegative) num1 = -num1; numstack.push(num1); } else { num1 = numstack.top(); numstack.pop(); num2 = numstack.top(); numstack.pop(); switch(tokens[i][0]) { case '+': numstack.push(num2 + num1); break; case '-': numstack.push(num2 - num1); break; case '/': numstack.push(num2 / num1); break; default: numstack.push(num2 * num1); break; } } } return numstack.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
- 欠拟合与过拟合概念
- 怎样提高解决问题的能力
- 快速排序的实现
- rhel6 gnome安装
- 使用Volley获取服务器数据demo
- leetcode Evaluate Reverse Polish Notation
- windows下mysql忘记root密码的解决方法
- TortoiseSVN使用
- Convert number
- 数据库中的存储过程
- c++学习总结(第二篇)
- 关于VS的Debug一些问题
- PAT 1011. A+B和C (15)
- Gallery的使用(二):显示抓拍的图片