LeetCode 题解:150. 逆波兰表达式求值,栈,JavaScript,详细注释
原题链接:150. 逆波兰表达式求值
解题思路:
逆波兰表达式的计算方式,是先从左到右查找待计算的数字,当遇到算符后,将临近的两个数字取出进行相应计算,并将计算结果替换掉原数字和算符。
因此,这是一种先入后出的计算方式,可以使用栈解决:
遍历
tokens
,将数字都入栈。如果遇到算符,从栈中取出两个数字进行相应计算。
算式中两个元素的顺序,总是
stack[stack.length - 2]
在前,stack[stack.length - 1]
在后。将计算结果入栈,等待下一次计算。
完成所有计算后,栈中只有一个元素,即为最终结果。
复制代码
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/f2b2f6d9ab5b2fde23f08d955】。文章转载请联系作者。
评论