首页 > 试题广场 >

后缀表达式求值

[编程题]后缀表达式求值
  • 热度指数:132715 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
计算逆波兰式(后缀表达式)的值
运算符仅包含"+","-","*"和"/",被操作数是整数

保证表达式合法,除法时向下取整。

数据范围:表达式的长度满足:
进阶:空间复杂度 , 时间复杂度
例如:
  ["20", "10", "+", "30", "*"] -> ((20 + 10) * 30) -> 900
  ["40", "130", "50", "/", "+"] -> (40 + (130 / 50)) -> 42
示例1

输入

["20","10","+","30","*"]

输出

900
示例2

输入

["20"]

输出

20
头像 法拉利201903231900848
发表于 2019-08-08 21:48:04
class Solution { public:     /*逆波兰表达式的解释器一般是基于堆栈的。     解释过程一般是:操作数入栈;遇到操作符时,操作数出栈,求值,将结果入栈;  &n 展开全文
头像 奶味拳师
发表于 2021-08-31 19:52:20
注意点:1.减法和除法都是减(除)数先入栈,被减(除)数后入栈,因此是op2-(/)op1 代码块 import java.util.*; public class Solution { /** * * @param tokens string字符串一维数组 展开全文
头像 oranges12
发表于 2020-11-01 22:49:19
function evalRPN(tokens) { // write code here let flag = ['+', '-', '*', '/']; var res = []; let sum = 0; for (let i = 0; i < tokens.leng 展开全文
头像 牛客808484225号
发表于 2022-08-08 09:33:15
import java.util.Stack; public class Solution {     public int evalRPN(String[] tokens) {         if(tokens == 展开全文
头像 流夜
发表于 2021-10-27 19:45:03
import java.util.*; public class Solution { /** * * @param tokens string字符串一维数组 * @return int整型 */ public int eva 展开全文
头像 ywl0211
发表于 2021-10-25 15:17:34
# # # @param tokens string字符串一维数组 # @return int整型 # class Solution: def evalRPN(self , tokens ): # write code here ss = ['+', '- 展开全文
头像 征服月球
发表于 2022-07-12 14:38:29
我被整无语了 负数居然是向上取整。。。。 /**  *  * @param tokens string字符串一维数组  * @return int整型  */ function evalRPN 展开全文
头像 华科不平凡
发表于 2020-08-10 11:33:18
刚开始判断条件没弄明白,绕了一圈,呜呜 // // Created by jt on 2020/8/7. // #include <vector> #include <stack> using namespace std; class Solution { public: 展开全文
头像 一叶浮尘
发表于 2020-04-11 15:11:49
计算逆波兰式(后缀表达式)的值运算符仅包含"+","-","*"和"/",被操作数可能是整数或其他表达式例如: 就是简单的栈应用 import java.util.Stack; public class Solution { public int evalRPN(String[] toke 展开全文
头像 HhhhHhhh_
发表于 2020-06-18 23:28:02
巧妙避开对数字字符串的判断 import java.util.*; public class Solution { /** * * @param tokens string字符串一维数组 * @return int整型 */ publi 展开全文