题解 | #逆波兰表达式求值#

逆波兰表达式求值

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
};
全部评论

相关推荐

03-14 16:04
已编辑
安徽农业大学 算法工程师
痴心的她allin秋...:啥笔试都挂怎么办,某9本考研下岸,练也没时间了,对算法也不感兴趣,大部分大厂笔试只能A0-1个😄
米哈游笔试
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务