题解 | #逆波兰表达式求值#
逆波兰表达式求值
https://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382
#include <sstream>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param tokens string字符串vector
* @return int整型
*/
int evalRPN(vector<string>& tokens) {
// write code here
vector<int> num;
for(auto & token : tokens)
{
char c = token.back();
switch (c) {
case '+':
num[num.size()-2] = num[num.size()-2] + num[num.size()-1];
num.pop_back();
break;
case '-':
num[num.size()-2] = num[num.size()-2] - num[num.size()-1];
num.pop_back();
break;
case '*':
num[num.size()-2] = num[num.size()-2] * num[num.size()-1];
num.pop_back();
break;
case '/':
num[num.size()-2] = num[num.size()-2] / num[num.size()-1];
num.pop_back();
break;
default:
{}
int n;
istringstream istr (token);
istr >> n;
num.push_back(n);
}
}
return num[0];
}
};
阿里巴巴灵犀互娱公司福利 668人发布