题解 | #逆波兰表达式求值#
逆波兰表达式求值
http://www.nowcoder.com/practice/885c1db3e39040cbae5cdf59fb0e9382
/**
- 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- @param tokens string字符串一维数组
- @return int整型 */
function evalRPN( tokens ) {
// write code here
var stack = [];
for (let i = 0;i<tokens.length;i++)
{
if(tokens[i]!=='+'&&
tokens[i]!=='-' &&
tokens[i]!=='*' &&
tokens[i]!=='/')
stack.push(parseInt(tokens[i]));
else {
let b = stack.pop()
let a = stack.pop()
switch(tokens[i]){
case '+' :
stack.push(a+b)
break
case '-':
stack.push(a-b)
break
case '*':
stack.push(a*b)
break
case '/':
stack.push(parseInt(a/b))
break
}
}
}
return stack.pop();
}
module.exports = {
evalRPN : evalRPN
};