/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param tokens string字符串一维数组 
 * @return int整型
 */
function evalRPN( tokens ) {
  // write code here
  console.log( tokens )
  let stack = []

  let calc = function ( operate ) {
    let b = +stack.pop()
    let a = +stack.pop()
    switch ( operate ) {
      case '+':
        return a + b
      case '-':
        return a - b
      case '*':
        return a * b
      case '/':
        return a / b
    }
  }

  for ( let i = 0; i < tokens.length; i++ ) {
    const curEle = tokens[ i ]
    if ( '+-*/'.indexOf( curEle ) > -1 ) {
      stack.push(parseInt(calc( curEle )))
        
    } else {
      stack.push( curEle )
    }
  }
    
   return stack.pop()
}
module.exports = {
  evalRPN: evalRPN
};