ES6 逆波兰表达式
var evalRPN = function (tokens) { // 定义一个栈用来存放数据 let stack = []; for (item of tokens) { switch (item) { case ("+"): stack.push(Number(stack.pop()) + Number(stack.pop())); break; case ("-"): stack.push(Number(parseInt(-stack.pop())) + Number(parseInt(stack.pop()))); break; case ("*"): stack.push(Number(parseInt(stack.pop())) * Number(parseInt(stack.pop()))); break; case ("/"): let right = parseInt(stack.pop()); stack.push(parseInt(stack.pop() / right)); break; default: stack.push(item); break; } } return stack.pop(); } var data = ["2", "1", "+", "3", "*"]; console.log(evalRPN(data));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论